Postgresql如何实现?
鉴于下表:Postgresql如何实现?,postgresql,Postgresql,鉴于下表: \d users Table "public.users" Column | Type | Modifiers --------------------+-----------------------------+---------------------------------------- id
\d users
Table "public.users"
Column | Type | Modifiers
--------------------+-----------------------------+----------------------------------------
id | integer | not null
email | character varying | not null default ''::character varying
encrypted_password | character varying | not null default ''::character varying
created_at | timestamp without time zone |
address_id | integer |
\d address
Table "public.address"
Column | Type | Modifiers
----------+-------------------+-----------
id | integer | not null
street | character varying |
city | character varying |
province | character varying |
zip | character varying |
country | character varying |
select u.id, u.email
from users u
inner join address a
on u.address_id = a.id
where a.city = 'XXXX'
第二个问题:
select u.id, u.email
from users u
inner join address a
on u.address_id = a.id
where a.city = 'XXXX' AND
u.created_at < NOW() - interval '3 months'
order by u.created_at desc
选择u.id、u.email
来自用户u
内部连接地址a
在u.address_id=a.id上
其中a.city='XXXX'和
u、 在
假设您想要选择居住在特定城市的用户,让我们在特定国家“埃塞俄比亚”中选择“亚的斯亚贝巴”
从“用户”中选择*作为a.id=u.address\u id上的“地址”,其中a.city='Addis Ababa'和a.country='Ethiopia'和u.created\u在<当前日期-间隔'3个月'由u.created\u在DESC下订单;
量化谁住在XXXX
。。。您是要检查某一列,例如城市
,还是要检查一组地址列?某一列,例如城市。请提供一个最小、完整且可验证的示例:什么索引可以提高此查询的性能?@AlexZywicki您只需编写[MCVE]即可轻松链接到MCVE页面
欢迎,如果答案解决了您的问题,您可以接受。
SELECT * FROM "users" AS u JOIN "address" AS a ON a.id = u.address_id WHERE a.city = 'Addis Ababa' AND a.country = 'Ethiopia' AND u.created_at < CURRENT_DATE - INTERVAL '3 months' ORDER BY u.created_at DESC;