SQL FULL JOIN 关键字
只要在其中某个表中存在匹配,FULL JOIN 关键字就会返回行。
- FULL JOIN 关键字语法
SELECT COLUMN_NAME(S) FROM TABLE_NAME1 FULL JOIN TABLE_NAME2 ON TABLE_NAME1.COLUMN_NAME=TABLE_NAME2.COLUMN_NAME
注释:在某些数据库中,FULL JOIN 称为FULL OUTER JOIN。
DUCK表:
| DUCK_ID | NAME | YEAR |
|---|---|---|
| HK234 | DUCK01 | 2016 |
| DK244 | DUCK02 | 2016 |
| KK134 | DUCK03 | 2016 |
MEAT表:
| MEAT_ID | KIND | PRODUCTION_YEAR | DUCK_ID |
|---|---|---|---|
| LO23 | DUCK | 2016 | KK134 |
| LO93 | DUCK | 2016 | DK244 |
| LO03 | DUCK | 2016 | HK234 |
| LO66 | DUCK | 2016 | CO134 |
全连接(FULL JOIN)实例
列出所有MEAT和DUCK数据
SELECT M.MEAT_ID,D.DUCK_ID,M.KIND,M.PRODUCTION_YEAR,D.YEAR FROM MEAT M FULL JOIN DUCK D ON M.DUCK_ID=D.DUCK_ID ORDER BY M.MEAT_ID;
结果:
| MEAT_ID | DUCK_ID | KIND | PRODUCTION_YEAR | YEAR |
|---|---|---|---|---|
| LO03 | HK234 | DUCK | 2016 | 2015 |
| LO23 | KK134 | DUCK | 2016 | 2016 |
| LO66 | DUCK | 2016 | ||
| LO93 | DK244 | DUCK | 2016 | 2016 |
FULL JOIN 关键字会从左表 (MEAT) 和右表 (DUCK) 那里返回所有的行。如果 “MEAT” 中的行在表 “DUCK” 中没有匹配,或者如果 “DUCK” 中的行在表 “MEAT” 中没有匹配,这些行同样会列出。
本文介绍了SQL中的FULL JOIN关键字及其用法。通过一个具体例子展示了如何使用FULL JOIN来获取两个表中所有行的数据,即使其中一个表在另一个表中没有匹配项也能显示。
1625

被折叠的 条评论
为什么被折叠?



