MySQL学习笔记-多表查询(下)
  IyrZnFTxP9Dl 2023年11月01日 110 0

多表查询(下)

一. 联合查询

联合查询:将多次查询结果合并,形成新的查询结果集

select {字段列表} from {表A} ...
union [all]
select {字段列表} from {表B} ...;
  • union all 会显示重复的部分,union 会去重,重复的部分只显示一次。

  • 联合查询的多张表的列数必须保持一致,字段类型也要保持一致。

二. 子查询

概念:在SQL语句中嵌套使用select语句,称为嵌套查询,也称为子查询

  • 语法举例:
select * from tb1 where column1 = (select column1 from tb2);
  • 子查询外部的语句可以是 insert/update/delete/select 的任何一个。
  • 根据子查询结果不同,可分类为:
    • 标量子查询:子查询的结果为单个值
    • 列子查询:子查询结果为一列
    • 行子查询:子查询结果为一行
    • 表子查询:子查询结果为多行多列
  • 前一条中的返回结果指的是语法后面括号内的返回结果。

image-20230302152554915

  • 根据子查询位置,可分类为:where之后、from之后、select之后。

1. 标量子查询

标量子查询:返回结果是单个值(数字、字符串、日期等)。

  • 常用操作符:= / <> / >= / < / <=

2. 列子查询

列子查询:子查询结果为一列(可以是多行)

  • 常用操作符: in / not in / any / some / all

image-20230302152929938

3. 行子查询

行子查询:子查询结果为一行(可以是多列)

  • 常用操作符:**= / <> / in / not in **

4. 表子查询

表子查询:子查询结果为多行多列

  • 常用操作符:in
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: B+Tree树 下一篇: 玩转GaussDB 中的SET操作符
  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
IyrZnFTxP9Dl