Mysql阶段二总结

本文总结了MySQL中的外连接,包括左外连接和右外连接,以及如何使用UNION进行合并查询数据记录。此外,还介绍了子查询的概念,包括IN、EXISTS、ANY和ALL等关键字的应用。
摘要由CSDN通过智能技术生成

Mysql阶段二总结


当我们在查询数据时,要求返回所操作表中至少一个表的所有数据记录,通过SQL语句“OUTER JOIN…ON”来实现。外连接数据查询语法形式如下:

SELECT field1,field2,…,fieldn

FROM tablename1 LEFT|RIGHT [OUTER] JOIN tablename2

ON CONDITION

在上述语句中,参数fieldn表示所要查询的字段名字,来源于所连接的表tablename1和tablename2,关键字OUTER JOIN表示表进行外连接,参数CONDITION表示进行匹配的条件。

外连接查询可以分为以下二类:

l *左外连接*

外连接查询中的左外连接,就是指新关系中执行匹配条件时,以关键字LEFT JOIN左边的表为参考表。左连接的结果包括LEFT OUTER字句中指定的左表的所有行,而不仅仅是连接列所匹配的行,如果左表的某行在右表中没有匹配行,则在相关联的结果行中,右表的所有选择列表均为空值。

l *右外连接*

外连接查询中的右外连接在新关系中执行匹配条件时,以关键字RIGHT JOIN右边的表为参考表,如果右表的某行在左表中没有匹配行,左表将返回空值。

1. *合并查询数据记录*

在MySQL中通过关键字UNION来实现合并操作,即可以通过其将多个SELECT语句的查询结果合并在一起,组成新的关系。在MySQL软件中,合并查询数据记录可通过SQL语句UNION来实现,具体语法形式如下:

SELECT field1,field2,…,fieldn FROM tablename1

UNION | UNION ALL

SELECT field1,field2,…,fieldn FROM tablename2

UNION | UNION ALL SELECT field1,field2,…,fieldn ;

*注意:* 多个选择语句select 的列数相同就可以合并,union和union all的主要区别是union all是把结果集直接合并在一起,而union 是将union all后的结果再执行一次distinct,去除重复的记录后的结果。

左外连接

mysql> select*from class as a left join student as b on a.id=b.id;
+----+------+---------+------+------+----------+
| id | name | teacher | id   | name | students |
+----+------+---------+------+------+----------+
|  1 | 一班 | Jack    |    1 | 一班 | 小明     |
|  2 | 二班 | Tom     |    2 | 二班 | 小花     |
|  3 | 三班 | Kill    |    3 | 三班 | 小五     |
|  4 | 四班 | Mike  
  • 48
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值