MySQL学习笔记-多表查询(下)

多表查询(下)

一. 联合查询#

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

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

作者:YellowSea

出处:https://www.cnblogs.com/yellowsea/p/17172062.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   YellowSeaa  阅读(83)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示