目录

1. 内连接

2. 外连接

1. 左(外)连接

2. 右(外)连接

3. 自连接

4. 子查询(嵌套查询)

5. 合并查询


1. 内连接

select * from table_name1 join table_name2 [on 条件] [where 表达式];
select * from table_name1 inner join table_name2[on 条件][where 表达式];
select * from table_name1 cross join table_name2[on 条件][where 表达式];
select * from table_name1 , table_name2[where 条件];
(on是过滤笛卡尔积中的无效数据)

内连接实现1:要求查询张三的成绩

步骤:1. 进行内连接查询(笛卡尔积) 2. 去掉无效的数据  3. 查询张三的成绩(where过滤条件)

1. 进行内连接查询(笛卡尔积):

2. 去掉无效的数据:

3. 查询张三的成绩(where过滤条件):

或者

不强制要求起别名,但是建议加上别名可以简化程序并且以免相同字段过多而报错。

内连接实现2:查询每个人成绩、科目名、个人信息

步骤:1. 连表查询(3张表)select * from t1 join t2 join t3;    2. 过滤无意义数据

2. 外连接

1. 左(外)连接

select * from t1 left join t2 [on 连接条件][where 条件查询];

(on是过滤笛卡尔积中的无效数据)

(t1是主表,t2是次表)

2. 右(外)连接

select * from t1 right join t2 [on 连接条件][where 条件查询];

(on是过滤笛卡尔积中的无效数据)

(t2是主表,t1是次表)

将右连接用左连接来实现:

select * from t2 left join t1 [on 连接条件][where查询条件];

(t2是主表,t1是次表)

联表查询中,on与where的区别:

1. 内连接on是可以省略的,而外连接on不能省略。

2. on在内连接中的执行效果和外连接中的执行效果是不一样的。

3. 在外连接中on和where是不一样的。

外连接中on不能过滤掉主表中的数据,而内连接on可以过滤掉全局数据。

外连接查询时,如果有多个查询条件,是将查询条件的表达式全部写在where表达式中,而非on中,在on中一般情况下只需要写一个笛卡尔积无效数据的过滤条件即可。

3. 自连接

自连接是指在同一张表上连接自身进行查询。

自连接实现:查询英语成绩小于计算机程序的数据(自己和自己进行连表查询)

步骤:1.先根据科目名称查询出科目id    2. 子查询(笛卡尔积)   3. 取出笛卡尔集中无效数据    4. 设置where条件,让表1只查询英语成绩,表2查询计算机程序     5. 设置where 多条件查询,让英语成绩大于计算机成绩

4. 子查询(嵌套查询)

子查询实现1:查询张三的同班同学

步骤:1. 查询张三的班级id   2. 学生表里面根据上一条查询的班级id查询出所有的列表,找出张三的同班同学

子查询实现2:查询计算机或英语成绩

步骤:1. 计算机或者英语的科目id     2. 查询成绩表where科目id等于计算机id或者是英语id

in 和 = 的区别:

=  查询需要一个具体确定的值

in  查询可以使一个或多个值,并且满足任意一个将返回true

5. 合并查询

在实际应用中,为了合并多个select的执行结果,可以使用集合操作符 union,union all。使用UNION 和UNION ALL时,前后查询的结果集中,字段需要一致。
union
查询id小于3,或者名字为“英文”的课程:
select * from course where id<3
union
select * from course where name='英文';
-- 或者使用or来实现
select * from course where id<3 or name='英文';

union all
查询id小于3,或者名字为“Java”的课程
select * from course where id<3
union all
select * from course where name='英文';

union 和 union all 区别:

union会将合并的结果集中的重复数据去重,只保留重复数据中的一条,而union all 是即将结果集全部合并,即使有重复的数据结果也不会进行合并操作。

MySQL查询---联合查询相关推荐

  1. mysql限制查询/外连接查询和内连接查询/联合查询

    mysql查询之limit限制查询 作用:对查询结果起到限制条数的作用 语法:limit n,m n:代表起始条数值,默认为0:m代表取出的条数 应用场合:数据量过多时,起到限制作用 如图 mysql ...

  2. mysql联合查询怎么加子查询_MySQL数据库 —子查询,联合查询

    编程之家收集整理的这篇文章主要介绍了MySQL数据库 -子查询,联合查询,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考. <MySQL数据库 -子查询,联合查询>要点: 本文 ...

  3. ArcGIS Engine属性查询和空间查询联合查询要素

    ArcGIS Engine属性查询和空间查询联合查询要素 项目中遇到了需要通过属性查询和空间查询两种查询方式联合,查找要素,主要流程是先通过空间查询,选择到符合条件的要素,添加到选择集中,然后再通过属 ...

  4. mysql数据库入门教程(5):多表操作(连接查询,子查询,分页查询,联合查询)

    前文介绍了单表查询:mysql数据库入门教程(4):查询讲解大全 今天介绍下多表查询 一.连接查询 含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询 先送上下面所讲用到的sql脚本 h ...

  5. mysql join 联合查询,MySQL连接(join)查询

    1. MySQL连接(join)查询 连接(join)查询是将两个查询的结果以"横向对接"的方式合并起来的结果. 对比:联合查询 是将两个查询的结果以"纵向堆叠" ...

  6. MySQL基础——数据库和SQL概述\MySQL基本使用\DQL语言学习\条件查询\排序查询\常见函数\分组查询\连接查询\子查询\分页查询\联合查询

    本文详细讲解了MySQL中DQL语言,也就是数据查询语句的使用.全文3w余字,是对学习MySQL知识的整理总结,因为篇幅较长,MySQL基础知识余下部分发表在余下博客中 DML语言学习\插入数据\删除 ...

  7. mysql 分组联合查询_【MySQL】-2 函数、分组、子查询、联合查询

    函数 Mysql的函数特性没有SQL可移植性强. 大多数情况下支持的函数: 处理文本串的函数: RTrim():处理列值右边的空格 LTrim():处理列值左边的空格 Trim():处理列值的左右两边 ...

  8. MySQL之连接查询+分页查询+联合查询

    连接查询 sql92和sql99的区别:** sql99使用join关键字替代了之前的逗号,并且将连接条件和筛选条件进行了分离,减少语法出错的几率,提高阅读性 卡尔乘积现象:没有有效的连接条件 内连接 ...

  9. 【MySQL】联合查询

    目录 1.前言 2.联合查询 3.内连接和外连接 4.案例演示 4.1 查询篮球哥每科的成绩 4.2 查询所有同学的总成绩及邮箱 5.自连接 5.1 显示所有计算机原理成绩比java成绩高的同学 6. ...

  10. Mysql的联合查询的索引小结

    1.顺带提一下mysql的sql执行顺序: FORM: 对FROM的左边的表和右边的表计算笛卡尔积.产生虚表VT1 ON: 对虚表VT1进行ON筛选,只有那些符合<join-condition& ...

最新文章

  1. [NOIP 2015]运输计划-[树上差分+二分答案]-解题报告
  2. thread 在 surfaceview 中的使用与删除
  3. 【TensorFlow】TensorFlow函数精讲之value()
  4. 从0到1构建支撑企业自动化运维体系
  5. infacmd 把工作流添加到应用程序_【案例】Animate 发布Win应用程序
  6. 拆轮子系列--RxJava理解(一)--Map解析
  7. Windows 部署服务(WDS)基础配置指南 (2008 or 2008R2 Only)
  8. BIND 服务器修复多个高危漏洞
  9. jQuery 3 有哪些新东西
  10. python有什么内容_python的类(简介,没什么内容)
  11. resin服务器搭建
  12. 时间序列分析——python
  13. Allegro PCB多层板中负片热风焊盘的制作以及flash的添加
  14. seo网站关键词优化三大要素:技术 思路 执行力
  15. PS中的LAB颜色模式有什么作用?给人像磨皮就很实用!
  16. 潭州教育学python怎么样_在潭州教育学原画两个月的感受
  17. 当你的电脑C盘满了怎么办?这两种方法都能解决
  18. html5 canvas详解 pdf,html5 canvas教程 pdf
  19. 详解Tomcat配置及使用
  20. Qt的初学路程(一)电子时钟

热门文章

  1. AI文字如何填充渐变色
  2. Go爬虫学习笔记(三)
  3. 决战设计模式之巅01——设计模式导论
  4. 吃PHP小孩智力好,吃鱼对孩子智力有好处?不一定,这几类鱼娃吃了可能会生病...
  5. 七神器java游戏_七神器_手机游戏资料库_新浪游戏_新浪网
  6. web前端(JSON、AJAX、Tomcat、Http)
  7. 第二届中国SaaS产业峰会-深圳站——挖掘SaaS的深度价值
  8. 【PBL项目实战】户外智慧农场项目实战系列——3.云端可视化页面开发及设备数据源的配置与调试
  9. qq开心农场攻略、升级攻略_qq开心农场刷钱赚钱攻略
  10. 【考研经验】2018吉林大学软件工程专硕考研初试复试经验分享