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. 【BZOJ】1607: [Usaco2008 Dec]Patting Heads 轻拍牛头
  2. iOS Podfile里面的use_frameworks!引发的血案
  3. 教程:正确的SLF4J日志记录用法以及如何检查它
  4. p沟道mos管导通条件_打开知识大门的捷径!MOS管基本认识
  5. kafka jar包_Kafka系列文章之安装测试-第2篇
  6. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨3.55%
  7. 村上隆首场中国直播,火山同传打造“影院级字幕”
  8. CUDA C编程(二)CUDA编程模型
  9. 如何测试自己适合什么大学专业
  10. RNNoise降噪训练
  11. 分析、归纳、综合、演绎
  12. python 二维码生成器_python二维码生成器
  13. ES6新增API - Reflect
  14. Pytorch构建Transformer实现英文翻译
  15. 凯思面试经历转置一个string
  16. jQuery官网下载文档的步骤
  17. Python-opencv 批量处理图片
  18. [Javascript 高级程序设计]学习心得记录11 js的BOM
  19. Sequence operation HDU - 3397
  20. 重磅《中华人民共和国数据安全法》最全图解附全文

热门文章

  1. Python爬虫实列:新浪微博热门话题
  2. 机器学习模型-外卖订单量预测异常报警模型实践
  3. 常见 Optimizer 梯度下降优化算法总结
  4. 准备换老古董,拟了个配置单,想征求大家的意见,谢谢!
  5. Codeforces-1604 D: Moderate Modular Mode
  6. 软件质量保证与测试——第二章 黑盒测试
  7. java keydown_键盘事件之keydown keypress keyup区别
  8. 进存销是什么?进存销业务流程有哪些?
  9. matlab移花接木,天龙八部分析帝:天山移花接木VS明教怒火连斩
  10. 吴恩达机器学习之Octave教程(Octave Tutorial):基本操作、移动数据、 计算数据、绘图数据、控制语句:for,while,if语句、 向量化、工作和提交的编程练习