栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

0基础学MySQL数据库—从小白到大牛(8)子查询

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

0基础学MySQL数据库—从小白到大牛(8)子查询

文章目录
  • 一、子查询的使用
    • 1.2子查询的基本使用
  • 2.子查询的分类
    • 2.1单行子查询
    • 2.2多行子查询


一、子查询的使用
  • 子查询指一个查询语句嵌套在另一个查询语句内部的查询
    需求:查询谁的工资比id=2的高?
方式1
mysql> SELECt salary
    -> FROM salary
    -> WHERe userid = '2';
+---------+
| salary  |
+---------+
| 2000.00 |
+---------+
1 row in set (0.00 sec)

mysql> SELECt userid,salary
    -> FROM salary
    -> WHERe salary > 2000;
+--------+---------+
| userid | salary  |
+--------+---------+
|      3 | 3000.00 |
|      4 | 4000.00 |
|      5 | 5000.00 |
+--------+---------+
3 rows in set (0.00 sec)

方式2 自连接
mysql> SELECt s1.userid,s1.salary FROM salary s1 JOIN salary s2 ON s1.userid = '2' AND s2.salary > s1.salary;
+--------+---------+
| userid | salary  |
+--------+---------+
|      2 | 2000.00 |
|      2 | 2000.00 |
|      2 | 2000.00 |
+--------+---------+
3 rows in set (0.00 sec)

方式3 子查询
mysql> SELECt userid,salary
    -> FROM salary
    -> WHERe salary > (
    ->                 SELECt salary
    ->                 FROM salary
    ->                 WHERe userid = '2'
    ->             );
+--------+---------+
| userid | salary  |
+--------+---------+
|      3 | 3000.00 |
|      4 | 4000.00 |
|      5 | 5000.00 |
+--------+---------+
3 rows in set (0.00 sec)

1.2子查询的基本使用

称谓的规范:外查询(或主查询)、内查询(或子查询)

  • 子查询在主查询之前执行完成。
  • 子查询的结果被主查询使用
  • 注意
    • 子查询要在括号内
    • 将子查询放在比较的右侧
    • 单行操作符对应当行子查询,多行操作符对应多行子查询
2.子查询的分类

分类方式1:
我们按内查询的结果返回一条还是多条记录,将子查询分为 单行子查询、 多行子查询
分类方式2:
我们按内查询是否被执行多次,将子查询划分为相关(或关联)子查询和不相关(或非关联)子查询
相关子查询与非相关子查询的区别:

​ 子查询只执行一次,后这个结果作为主查询的条件进行执行,那么这样的子查询叫做不相关子查询
​ 子查询需要执行多次,再将结果反馈给外部,这种方式就称为相关子查询

2.1单行子查询

单行操作符:

  • =
  • !=、>、>=
  • <
  • <=
    如果子查询返回NULL则主查询也会返回NULL
2.2多行子查询
  • 也称为集合比较子查询
  • 内查询返回多行
  • 使用多行比较操作符
  • 多行子查询的操作符:IN ANY ALL SOME(同ANY)。
操作符含义
IN等于列表中的任意一个
ANY需要和单行比较操作符一起使用,和子查询返回某一个值比较
ALL需要和单行比较操作符一起使用,和子查询返回所有值比较
SOME实际上是ANY的别名,作用相同,一般用ANY
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1010563.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号