面试时对于关联的提问是必不可少的,下面就简单梳理一下关联,希望能够帮助大家。
关联的类型:
Left Join (左连接):左边为主表,根据关联条件匹配右表,取不到右表的记录则右表相关字段为null,左表全部返回
Right Join(右链接):右边为主表,根据关联条件匹配左表,取不到左表的记录则左表相关字段为null,左表全部返回
Inner Join(内链接):取两张表的交集,能关联上则返回
Full Join(全链接):两张表的记录全部返回,类似于左表关联合并右表关联,然后去重。
Cross Join(笛卡尔积):一张表的每一条记录都和另一张表的每条记录关联
上图:
Table_A | Table_B | ||||
ID | NAME | GENDER | ID | AMT | |
A001 | Tony | M | A001 | 1000 | |
A002 | Abby | F | A002 | 500 | |
A003 | Alice | F | A003 | 200 | |
A004 | John | M | B001 | 700 |
Left Join (左连接):
SELECT A.ID
,A.NAME
,A.GENDER
,B.AMT
FROM TABLE_A A
LEFT JOIN TABLE_B B
ON A.ID=B.ID
ID | NAME | GENDER | AMT |