1. #子查询-某些情况下,当进行查询的时候,需要的条件是另外一个select语句的结果,这个时候就要用到子查询。用于子查询的关键字主要包括:
  2. innot in、=、!=、existsnot exists等等。
  3. #从emp表中查询出所有部门在dept表中的所有记录
  4.  
  5. mysql> select * from dept;
  6. +--------+----------+
  7. | deptno | deptname |
  8. +--------+----------+
  9. | 1 | tech |
  10. | 2 | sale |
  11. | 3 | hr |
  12. | 4 | sl |
  13. +--------+----------+
  14. 4 rows in set (0.01 sec)
  15.  
  16. mysql> select * from emp;
  17. +-------+------------+------------+---------+--------+------+
  18. | ename | birth | hirdate | sal | deptno | age1 |
  19. +-------+------------+------------+---------+--------+------+
  20. | zzx1 | 2000-01-01 | 2000-01-01 | 2000.00 | 1 | 21 |
  21. | zzx1 | 2002-03-09 | 2009-04-03 | 2001.00 | 3 | 22 |
  22. | ttx2 | 2023-04-10 | 2010-03-04 | 4000.00 | 4 | 23 |
  23. | ssss | 2019-01-01 | 2018-01-01 | 5000.00 | 2 | 24 |
  24. +-------+------------+------------+---------+--------+------+
  25. 4 rows in set (0.00 sec)
  26.  
  27. mysql> select * from emp where deptno in(select deptno from dept);
  28. +-------+------------+------------+---------+--------+------+
  29. | ename | birth | hirdate | sal | deptno | age1 |
  30. +-------+------------+------------+---------+--------+------+
  31. | zzx1 | 2000-01-01 | 2000-01-01 | 2000.00 | 1 | 21 |
  32. | ssss | 2019-01-01 | 2018-01-01 | 5000.00 | 2 | 24 |
  33. | zzx1 | 2002-03-09 | 2009-04-03 | 2001.00 | 3 | 22 |
  34. | ttx2 | 2023-04-10 | 2010-03-04 | 4000.00 | 4 | 23 |
  35. +-------+------------+------------+---------+--------+------+
  36. 4 rows in set (0.00 sec)
  37.  
  38. #如果子查询记录数唯一,还可以用=代替in
  39.  
  40. mysql> select * from emp where deptno=(select deptno from dept limit 1);
  41.  
  42. +-------+------------+------------+---------+--------+------+
  43.  
  44. | ename | birth | hirdate | sal | deptno | age1 |
  45.  
  46. +-------+------------+------------+---------+--------+------+
  47.  
  48. | zzx1 | 2000-01-01 | 2000-01-01 | 2000.00 | 1 | 21 |
  49.  
  50. +-------+------------+------------+---------+--------+------+
  51.  
  52. 1 row in set (0.00 sec)
  53.  
  54. # 某些情况下,子查询可转化为表连接
  55.  
  56. mysql> select * from emp where deptno in(select deptno from dept);
  57.  
  58. +-------+------------+------------+---------+--------+------+
  59.  
  60. | ename | birth | hirdate | sal | deptno | age1 |
  61.  
  62. +-------+------------+------------+---------+--------+------+
  63.  
  64. | zzx1 | 2000-01-01 | 2000-01-01 | 2000.00 | 1 | 21 |
  65.  
  66. | ssss | 2019-01-01 | 2018-01-01 | 5000.00 | 2 | 24 |
  67.  
  68. | zzx1 | 2002-03-09 | 2009-04-03 | 2001.00 | 3 | 22 |
  69.  
  70. | ttx2 | 2023-04-10 | 2010-03-04 | 4000.00 | 4 | 23 |
  71.  
  72. +-------+------------+------------+---------+--------+------+
  73.  
  74. 4 rows in set (0.00 sec)
  75.  
  76. #转换为表连接后
  77. mysql> select emp.* from emp,dept where emp.deptno=dept.deptno;
  78. +-------+------------+------------+---------+--------+------+
  79. | ename | birth | hirdate | sal | deptno | age1 |
  80. +-------+------------+------------+---------+--------+------+
  81. | zzx1 | 2000-01-01 | 2000-01-01 | 2000.00 | 1 | 21 |
  82. | ssss | 2019-01-01 | 2018-01-01 | 5000.00 | 2 | 24 |
  83. | zzx1 | 2002-03-09 | 2009-04-03 | 2001.00 | 3 | 22 |
  84. | ttx2 | 2023-04-10 | 2010-03-04 | 4000.00 | 4 | 23 |
  85. +-------+------------+------------+---------+--------+------+
  86. 4 rows in set (0.00 sec)
  87.  
  88. #union和union all的主要区别是union all是把结果集直接合并在一起
  89. union是将union all后的结果在进行一次distinct,去除重复记录后的结果。
  90. mysql> select deptno from emp union all select deptno from dept;
  91. +--------+
  92. | deptno |
  93. +--------+
  94. | 1 |
  95. | 3 |
  96. | 4 |
  97. | 2 |
  98. | 1 |
  99. | 2 |
  100. | 3 |
  101. | 4 |
  102. +--------+
  103. 8 rows in set (0.00 sec)
  104.  
  105. mysql> select deptno from emp union select deptno from dept;
  106. +--------+
  107. | deptno |
  108. +--------+
  109. | 1 |
  110. | 3 |
  111. | 4 |
  112. | 2 |
  113. +--------+
  114. 4 rows in set (0.00 sec)

MySQL-SQL基础-查询1的更多相关文章

  1. 2.Mysql SQL基础

    2.Mysql SQL基础2.1 SQL简介 SQL(Structure Query Language)是结构化查询语言.2.2 SQL使用入门 2.2.1 SQL分类 SQL分为DDL.DML(DQ ...

  2. python 3 mysql sql逻辑查询语句执行顺序

    python 3 mysql sql逻辑查询语句执行顺序 一 .SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_t ...

  3. SQL基础--查询之三--嵌套查询

    SQL基础--查询之三--嵌套查询

  4. SQL基础--查询之五--查询语句一般格式

    SQL基础--查询之五--查询语句一般格式

  5. SQL基础--查询之四--集合查询

    SQL基础--查询之四--集合查询

  6. SQL基础--查询之一--单表查询

    SQL基础--查询之一--单表查询

  7. SQL基础--查询之二--连接查询

    SQL基础--查询之二--连接查询

  8. mysql SQL 逻辑查询语句和执行顺序

    关键字的执行优先级(重点) fromwheregroup byhavingselectdistinctorder bylimit 先创建两个表 CREATE TABLE table1 ( custom ...

  9. MySQL学习(三) SQL基础查询

    其实在数据库最经常用的当属查询操作 基本语法 SELECT [ALL | DISTINCT | DISTINCTROW ] 字段列表 AS 字段别名 [FROM 表名 WHERE 条件表示式 GROU ...

  10. sql基础查询

    2.1 指定使用中的资料库 一个资料库伺服器可以建立许多需要的资料库,所以在你执行任何资料库的操作前,通常要先指定使用的资料库.下列是指定资料库的指令: 如果你使用「MySQL Workbench」这 ...

随机推荐

  1. 记一次Hvv中遇到的API接口泄露而引起的一系列漏洞

    引言 最近朋友跟我一起把之前废弃的公众号做起来了,更名为鹿鸣安全团队,后面陆续会更新个人笔记,有趣的渗透经历,内网渗透相关话题等,欢迎大家关注 前言 Hvv中的一个很有趣的漏洞挖掘过程,从一个简单的A ...

  2. Python基础之创建文件夹与删除文件夹。

    参考链接:https://blog.csdn.net/weixin_43826242/article/details/87101436 创建目录结构 # 创建文件目录结构 def create_fol ...

  3. 第十六篇 -- SuperIO学习

    一.SuperIO 这次主要研究SuperIO读取以及控制风扇转速的问题. 参考文章:https://huchanghui123.github.io/Linux/Linux-Superio-CPU-F ...

  4. 模式识别课程大作业 Shopee 商品图像检索

    大作业项目简介 在如今的信息科技时代, 带有拍照功能的移动设备如手机.相机等得到了极大的普及和流行, 各种各样的图片和视频可以随时随地获得, 并借助互联网快速传播, 这种趋势使得网络上的数字图片和视频 ...

  5. Mac使用Charles抓取ios手机APP中的https请求

    1.配置Http代理 Port为监听端口号,默认为8888,勾选Enable transparent HTTP proxying,接着勾选SOCKS proxy,可以监听Socks请求 2.安装Cha ...

  6. 剑指 Offer 30. 包含min函数的栈

    剑指 Offer 30. 包含min函数的栈 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min.push 及 pop 的时间复杂度都是 O(1). 示例 ...

  7. 什么是RSA

    一.RSA引入: RSA是什么,嗯,这是一个好问题,有没有兴趣啊 二.RSA的解释: RSA是一种加密方式,它是现代密码学的代表(什么是现代密码学,这个吗,我感觉就是我们所使用的密码的加密的方式之一可 ...

  8. 程序员被老板要求两个月做个APP,要不比京东差,网友:做一个快捷方式,直接链到京东

    隔行如隔山,这句话说得一点都没错.做一个程序员,很多人都会羡慕,也有很多人会望而却步. 作为一个外行人,你别看程序员每天坐在电脑前敲敲键盘打打代码,以为很简单,其实啊也只有程序员自己明白,任何一个看似 ...

  9. .NET Core/.NET5/.NET6 开源项目汇总13:模板引擎

    系列目录     [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...

  10. 面试官:MySQL 有哪些锁??

    大家好,我是小林. 这次,来说说 MySQL 的锁,主要是 Q&A 的形式,看起来会比较轻松. 不多 BB 了,发车! 在 MySQL 里,根据加锁的范围,可以分为全局锁.表级锁和行锁三类. ...