INNER JOIN(内链接)、LEFT JOIN(左链接)、RIGHT JOIN(右链接)和FULL JOIN(全链接)的区别
2015-12-23 14:44
417 查看
一、INNER JOIN
即内链接,左表和右表返回同时符合条件的行。
INNER JOIN关键字语法:
SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name = table_name2.colnum_name
二、LEFT JOIN
即左链接,LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。当然会返回右表中匹配的行。
LEFT JOIN关键字语法:
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name = table_name2.column_name
三、RIGHT JOIN
即右链接,RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。当然会返回左表中匹配的行。
RIGHT JOIN关键字语法:
SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name = table_name2.column_name
四、FULL JOIN
即全链接,FULL JOIN 关键字会从左表 (Persons) 和右表 (Orders) 那里返回所有的行。如果 "Persons" 中的行在表 "Orders" 中没有匹配,或者如果 "Orders" 中的行在表 "Persons" 中没有匹配,这些行同样会列出。
FULL JOIN关键字语法:
SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name = table_name2.column_name
整理自w3cshool
即内链接,左表和右表返回同时符合条件的行。
INNER JOIN关键字语法:
SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name = table_name2.colnum_name
二、LEFT JOIN
即左链接,LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。当然会返回右表中匹配的行。
LEFT JOIN关键字语法:
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name = table_name2.column_name
三、RIGHT JOIN
即右链接,RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。当然会返回左表中匹配的行。
RIGHT JOIN关键字语法:
SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name = table_name2.column_name
四、FULL JOIN
即全链接,FULL JOIN 关键字会从左表 (Persons) 和右表 (Orders) 那里返回所有的行。如果 "Persons" 中的行在表 "Orders" 中没有匹配,或者如果 "Orders" 中的行在表 "Persons" 中没有匹配,这些行同样会列出。
FULL JOIN关键字语法:
SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name = table_name2.column_name
整理自w3cshool
相关文章推荐
- c语言正则表达式
- 测试
- RedHat软件包管理工具详解
- liunx运维常见命令
- Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
- 设计模式C++实现--策略模式
- Android中日志工具的使用
- 优化MyBatis配置文件中的配置
- 搭建LAMP
- 产品设计运营规范
- uboot启动 及命令分析(3)
- Nodejs异步流程控制Async
- Spring 3 MVC深入研究
- IOS AFN请求封装使用
- POJ1107 W's Cipher 简单模拟
- 一个简单而经典的RTX51 Tiny应用实例
- jQuery Ajax
- Android 内存泄露分析
- js实现懒加载
- FastDFS的配置、部署与API使用解读(4)FastDFS配置详解之Client配置