连接查询又称多表查询,查询到的字段来自于多个表中的数据。
一、 连接查询的分类和语法
1.分类
按标准分:
92标准:只支持内连接
99标准:支持内连接和、外连接和全外连接
功能进行分类:
内连接:inner
等值连接
非等值连接
自连接
外连接:
左外连接left 【outer】
右外连接right【outer】
全外连接(mysql不支持) full【outer】
交叉连接cross
笛卡尔集:没有加约束条件。若表1有m行数据,表2有m2行数据,最终有m*m2行数据。
2.语法
select 查询列表
from 表1 别名 【连接类型】
join 表2 别名
on 连接条件
【where 筛选条件】
【group by 分组】
【having 筛选条件】
【order by 排序列表】
二、内连接(inner)
1.等值连接
语法:select 查询列表 from 表1 别名1 [inner join] 表2 别名 [on]/[where] 连接条件
特点:
①多表等值连接的结果为多表的交集部分;
②m个表的连接,至少需要m-1个连接条件
③各个表的先后顺序没有要求
④可以结合其他函数和字句,比如:排序、分组、筛选等
⑤可以用inner join on连接也可以使用from多个表
⑥inner join on 是sql99语法规范,提高了分离性、可读性。




2.非等值连接


3.自连接
查询出员工名和上级名

三、外连接
用于查询一个表中存在另一个表中不存在的数据
1.特点
①外连接的查询结果为主表中的所有数据,若从表中有和他匹配的,则显示匹配的数据;若没有与之匹配的数据,则显示null
②左外连接,left join 左边是主表;右外连接,right join 右边是主表
③左外和右外交换两个表的顺序,可以实现相同的查询结果
④全外连接=内连接+表1中有表2中没有的+表2中有表1中没有的
2.左外连接

3.右外连接

4.全连接

最新文章

  1. 重写jquery的ajax方法
  2. centos查看系统cpu个数、核心书、线程数
  3. js计时器 + asp 计时器
  4. C++ new(2)
  5. java 15 - 9 集合框架之 栈、队列、数组 和 链表
  6. HTML和JSON的数据交互-HTML模板
  7. VB 读取csv文件数据
  8. tomcat 服务器全解
  9. jq 图片裁剪
  10. 创建一个流(Stream)可以让Bitmap或Image保存到流里面(转)
  11. mongodb安装指南
  12. VS2013使用技巧汇总
  13. 201521123006 《java程序设计》 第10周学习总结
  14. PDO详解
  15. Java 链表常见考题总结
  16. 简易webpack 入门
  17. Java多线程之三volatile与等待通知机制示例
  18. ELK--filebeat命令行参数解释
  19. 最新2018年三月可用Windows10激活密钥
  20. 高性能JavaScript(高性能Ajax)

热门文章

  1. js中去掉字符中间空格和首尾空格
  2. chapter05_20180330
  3. Python2.7编程基础(博主推荐)
  4. 《从0到1学习Flink》—— Flink 写入数据到 ElasticSearch
  5. 3年,阅读量100万+, Github Star 15000+
  6. android 开发-Toast控件的实现
  7. ServiceStack.Redis 使用
  8. webpack.config.js====引入Jquery库文件
  9. Xcode Ghost
  10. personalWebsite_1:历史记录汇总