PostgreSQL表连接
发布时间:2020-12-13 17:17:52 所属栏目:百科 来源:网络整理
导读:假如有个表(weather)内容如下: +---------+------------+------------------+| Id(INT) | Date(DATE) | Temperature(INT) |+---------+------------+------------------+| 1 | 2015-01-01 | 10 || 2 | 2015-01-02 | 25 || 3 | 2015-01-03 | 20 || 4 | 2015-
假如有个表(weather)内容如下: +---------+------------+------------------+ | Id(INT) | Date(DATE) | Temperature(INT) | +---------+------------+------------------+ | 1 | 2015-01-01 | 10 | | 2 | 2015-01-02 | 25 | | 3 | 2015-01-03 | 20 | | 4 | 2015-01-04 | 30 | +---------+------------+------------------+ 通过SQL语句来查询比昨天温度高的数据记录的Id,如上表,查询后的结果如下: +----+ | Id | +----+ | 2 | | 4 | +----+ 查询语句如下: select w2.Id from weather as w1 join weather as w2 on w1.Date+1 = w2.Date and w1.Temperature < w2.Temperature; 这个主要是用了PostgreSQL的表连接,表连接分为:
T1 { [INNER] | [ LEFT | RIGHT | FULL ] | [OUTER] } JOIN T2 ON boolean_expression T1 { [INNER] | [ LEFT | RIGHT | FULL ] | [OUTER] } JOIN T2 USING(col1,col2,col3,...) T1 NATURAL { [INNER] | [ LEFT | RIGHT | FULL ] | [OUTER] } JOIN T2 第一种条件连接在关键字ON后接用户自定义的查询条件,所有字典均保留,第二种条件连接USING后接字段名,将表T1和表T2中col1,col3值相同的字段连接起来,两个表里的这3个字段只保留一份,第三种表连接通过NATURAL自动根据T1和T2中相同字段名进行等值连接。 参考: Rising Temperature PostgreSql的JOIN操作 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |