加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Postgresql join

发布时间:2020-12-13 17:07:03 所属栏目:百科 来源:网络整理
导读:Postgresql join 操作 1. 建表插入数据 2. inner join 3. full outer join 4. left outer join 5. 参考 1. 建表插入数据 创建表 test_a,test_b shop_5CREATETABLEtest_a(idserial,nameVARCHAR(32));CREATETABLETime:0.019sshop_5dtest_a;+----------+------

Postgresql join 操作


1. 建表&插入数据

2. inner join

3. full outer join

4. left outer join

5. 参考


1. 建表&插入数据

创建表 test_a,test_b

shop_5>CREATETABLEtest_a(idserial,nameVARCHAR(32));
CREATETABLE
Time:0.019s

shop_5>dtest_a;
+----------+-----------------------+------------------------------------------------------+
|Column|Type|Modifiers|
|----------+-----------------------+------------------------------------------------------|
|id|integer|notnulldefaultnextval('test_a_id_seq'::regclass)|
|name|charactervarying(32)||
+----------+-----------------------+------------------------------------------------------+
Time:0.006s

shop_5>INSERTINTOtest_a(name)VALUES('a'),('b'),('c'),('d');
INSERT04
Time:0.011s

shop_5>SELECT*fromtest_a;
+------+--------+
|id|name|
|------+--------|
|1|a|
|2|b|
|3|c|
|4|d|
+------+--------+
SELECT4
Time:0.001s

shop_5>CREATETABLEtest_b(idserial,nameVARCHAR(32));
CREATETABLE
Time:0.012s

shop_5>dtest_b;
+----------+-----------------------+------------------------------------------------------+
|Column|Type|Modifiers|
|----------+-----------------------+------------------------------------------------------|
|id|integer|notnulldefaultnextval('test_b_id_seq'::regclass)|
|name|charactervarying(32)||
+----------+-----------------------+------------------------------------------------------+
Time:0.003s

shop_5>INSERTINTOtest_b(name)VALUES('c'),('d'),('e'),('f');
INSERT04
Time:0.009s

shop_5>SELECT*fromtest_b;
+------+--------+
|id|name|
|------+--------|
|1|c|
|2|d|
|3|e|
|4|f|
+------+--------+
SELECT4
Time:0.002s


2. inner join

内联合(inner join)只生成同时匹配表A和表B的记录集。

shop_5>SELECT*fromtest_aaINNERJOINtest_bbona.name=b.name;
+------+--------+------+--------+
|id|name|id|name|
|------+--------+------+--------|
|3|c|1|c|
|4|d|2|d|
+------+--------+------+--------+
SELECT2
Time:0.001s


3. full outer join

全外联合(full outer join)生成表A和表B里的记录全集,包括两边都匹配的记录。如果有一边没有匹配的,缺失的这一边为null。

shop_5>SELECT*fromtest_aaFULLOUTERJOINtest_bbona.name=b.name;
+--------+--------+--------+--------+
|id|name|id|name|
|--------+--------+--------+--------|
|1|a|<null>|<null>|
|2|b|<null>|<null>|
|3|c|1|c|
|4|d|2|d|
|<null>|<null>|3|e|
|<null>|<null>|4|f|
+--------+--------+--------+--------+
SELECT6
Time:0.001s


4. left outer join

左外联合(left outer join)生成表A的所有记录,包括在表B里匹配的记录。如果没有匹配的,右边将是null。

shop_5>SELECT*fromtest_aaLEFTOUTERJOINtest_bbona.name=b.name;
+------+--------+--------+--------+
|id|name|id|name|
|------+--------+--------+--------|
|1|a|<null>|<null>|
|2|b|<null>|<null>|
|3|c|1|c|
|4|d|2|d|
+------+--------+--------+--------+
SELECT4
Time:0.003s


5. 参考

http://francs3.blog.163.com/blog/static/405767272012101011193243/

http://www.yiibai.com/html/postgresql/2013/080569.html

http://blog.jobbole.com/40443/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读