1.子查询的语法

子查询的语法与正常的sql查询语句一致,只是嵌套在sql语句中,通常用来简化多表联查,也可以与多表联查混合使用,子查询语句可以嵌套在select,form,where等关键字后.

例如: select(子查询) form 表 where 条件

select 返回值 form (子查询) where 条件

select 返回值 form 表 where (子查询)

需要注意的是子查询嵌套在select后是返回一个值,相当于查询语句中给定的返回值;嵌套在form后的子查询返回一个结果集(表);嵌套在where后一般与条件运算符连接使用.

2.在select中嵌套

如果有一张学生表(student),记录着学生的名字(name),学号(id),性别(sex)等信息,另外一张表借书卡表(s_card),记录着学号对应的借书卡号(id)等信息,且每个学生只对应一张借书卡.如果想要在一张表中显示出学号对应的卡号关系,就可以用到在select中嵌套的子查询.

SELECT s.id,(SELECT sc.id FROM s_card sc where sc.s_id = s.id ) as s_card_id
FROM student s

3.在from中嵌套

        在form后的子查询一般与关联查询同时使用,如果有一张学生表(student),和一张借书卡表(s_card),两张表通过学生id关联,且每个学生只对应一张借书卡.现在我想要同时知道两张表的信息,就可以用到from后嵌套子查询的方法.需要注意的是子查询在from后嵌套返回的是一个结果集(表),所以必须给这个表起一个别名.

SELECT *
FROM (SELECT * FROM student s) as a
INNER JOIN s_card sc
ON a.id = sc.s_id

4.在where中嵌套

在where后的子查询一般与条件运算符连接使用,当做一个条件.同样如果有一张学生表(student),和一张借书卡表(s_card),两张表通过学生id关联,且每个学生只对应一张借书卡.如果需要知道卡号=1的学生的信息就可以用到where后嵌套子查询的方法.

SELECT s.*
FROM student s
WHERE EXISTS(SELECT sc.id FROM s_card sc WHERE sc.s_id = s.id AND s.id=1)

mysql查询语句,子查询的几种方式相关推荐

  1. SQL查询语句——子查询

    1.带多重子查询的复杂SQL语句 select a.studentNo,studentName,b.courseName,c.score from Student a,Course b,Score c ...

  2. mysql的语句分类,查询、子查询及连接查询

    一.mysql查询的五种子句 where(条件查询).having(筛选).group by(分组).order by(排序).limit(限制结果数)  1.where常用运算符: 比较运算符 &g ...

  3. jq取第一个子元素为select_Java修行第036天---MySQL中的子查询,分页语句,三大范式...

    学习目标: 1.掌握子查询 2.了解正则表达式 3.理解索引的作用和创建索引 4.了解用户管理 5.掌握分页语句 6.了解执行计划和数据库引擎 7.理解数据库设计的三大范式 综合程序图: 1 子查询知 ...

  4. any在mysql语句中用法,MySQL中,子查询中可以使用运算符ANY,它表示的意思是______。...

    MySQL中,子查询中可以使用运算符ANY,它表示的意思是______. 答:至少一个值满足条件 According to your textbook, the main purpose of a s ...

  5. Mysql的查询语句(联合查询、连接查询、子查询等)

    Mysql的各个查询语句(联合查询.连接查询.子查询等) 一.联合查询 关键字:union 语法形式 select语句1 union[union选项] select 语句2 union[union选项 ...

  6. mysql查询子表的语句_MySQL基本SQL语句之单表查询、多表查询和子查询

    一.简单查询: 1.基本语法: SELECT * FROM tb_name;//查询全部 SELECT field1,field2 FROM tb_name; //投影 SELECT [DISTINC ...

  7. mysql分组查询和子查询语句_6.MySQL分组聚合查询,子查询

    自己的MySQL阅读笔记,持续更新,直到看书结束. 数据库技术可以有效帮助一个组织或者企业科学.有效的管理数据,也是现在很多企业招聘数据分析师的必备要求之一. 大家如果看过MySQL的书,也可以看我的 ...

  8. mysql多表查询sql语句怎么写_MySQL基本SQL语句之单表查询、多表查询和子查询

    一.简单查询: 基本语法: SELECT * FROM tb_name;查询全部 SELECT field1,field2 FROM tb_name; 投影 SELECT [DISTINCT] * F ...

  9. mysql学习day05—子查询 / CASH语句 / 连接查询

    子查询 单行子查询:返回单行单列 多列子查询:返回单行多列(使用成对比较) 多行子查询:返回多行单列 相关子查询:子查询使用了外部SQL的某些表或列(但是外部SQL不可使用子查询中的表和列) 嵌套子查 ...

最新文章

  1. 印度电信巨头牵手阿里云 拥有全球最大规模私有海底光缆
  2. 我的空间为什么叫IT人?
  3. 第十届 蓝桥杯样题 ——结果填空
  4. java 截串_java字符串截取
  5. 加速引擎SmartFlow助力浪潮云海超融合2021H1中国市场增速第一
  6. Oracle在HPUX IA64平台登陆缓慢问题分析
  7. c#养老院老人信息管理系统源码 论文_我市“老年人关爱服务体系建设”专题研究论文荣获第五届青年学者老龄论坛特等奖_社会民生_新闻频道...
  8. 软件架构 —— 消息范式
  9. Semaphore(多资源多线程)
  10. 免费推广网站实例(珍藏版)
  11. Elasticsearch集群安全防护提出几个建议
  12. C#语言与Java语言程序的比较[转自chinaitlab]
  13. html边框缩短,有什么办法css border缩短
  14. 高等数学学习笔记——第九十二讲——函数项级数收敛与一致收敛
  15. Excel 函数 : 身份证号获取年纪等
  16. bmp图片转换成16进制数据
  17. 在python是什么意思_Python a=b是什么意思?
  18. FreeNOS--项目的README
  19. 迅速处理多个ts转mp4格式 - 无需安装
  20. 数据分析需要掌握的知识(2)

热门文章

  1. 原生js+css实现仿京东物流效果
  2. 苹果正式推出新Apple TV应用程序 支持三星新款智能电视
  3. 在vscode中装Fira字体格式
  4. java主线程等待所有子线程执行完毕再执行
  5. 图像语义分割实践(五)优化器与学习率
  6. 图像语义分割实践(四)损失函数与实现
  7. spring中使用logback日志组件替换log4j
  8. pandas对每十行做批量操作_Pandas 批量处理文本表
  9. java 变量值变化检测_Java 9.5 测试复盘
  10. 剧本翻译之SHUFFLE 6月23日