最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

世界热推荐: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的任何一个。
  • 根据子查询结果不同,可分类为:
    • 标量子查询:子查询的结果为单个值
    • 列子查询:子查询结果为一列
    • 行子查询:子查询结果为一行
    • 表子查询:子查询结果为多行多列
  • 前一条中的返回结果指的是语法后面括号内的返回结果。
  • 根据子查询位置,可分类为:where之后、from之后、select之后。

1. 标量子查询

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

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

2. 列子查询

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

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

3. 行子查询

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

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

4. 表子查询

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

  • 常用操作符:in

关键词: 字段类型 查询结果