mysql查询语句,子查询的几种方式
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查询语句,子查询的几种方式相关推荐
- SQL查询语句——子查询
1.带多重子查询的复杂SQL语句 select a.studentNo,studentName,b.courseName,c.score from Student a,Course b,Score c ...
- mysql的语句分类,查询、子查询及连接查询
一.mysql查询的五种子句 where(条件查询).having(筛选).group by(分组).order by(排序).limit(限制结果数) 1.where常用运算符: 比较运算符 &g ...
- jq取第一个子元素为select_Java修行第036天---MySQL中的子查询,分页语句,三大范式...
学习目标: 1.掌握子查询 2.了解正则表达式 3.理解索引的作用和创建索引 4.了解用户管理 5.掌握分页语句 6.了解执行计划和数据库引擎 7.理解数据库设计的三大范式 综合程序图: 1 子查询知 ...
- any在mysql语句中用法,MySQL中,子查询中可以使用运算符ANY,它表示的意思是______。...
MySQL中,子查询中可以使用运算符ANY,它表示的意思是______. 答:至少一个值满足条件 According to your textbook, the main purpose of a s ...
- Mysql的查询语句(联合查询、连接查询、子查询等)
Mysql的各个查询语句(联合查询.连接查询.子查询等) 一.联合查询 关键字:union 语法形式 select语句1 union[union选项] select 语句2 union[union选项 ...
- mysql查询子表的语句_MySQL基本SQL语句之单表查询、多表查询和子查询
一.简单查询: 1.基本语法: SELECT * FROM tb_name;//查询全部 SELECT field1,field2 FROM tb_name; //投影 SELECT [DISTINC ...
- mysql分组查询和子查询语句_6.MySQL分组聚合查询,子查询
自己的MySQL阅读笔记,持续更新,直到看书结束. 数据库技术可以有效帮助一个组织或者企业科学.有效的管理数据,也是现在很多企业招聘数据分析师的必备要求之一. 大家如果看过MySQL的书,也可以看我的 ...
- mysql多表查询sql语句怎么写_MySQL基本SQL语句之单表查询、多表查询和子查询
一.简单查询: 基本语法: SELECT * FROM tb_name;查询全部 SELECT field1,field2 FROM tb_name; 投影 SELECT [DISTINCT] * F ...
- mysql学习day05—子查询 / CASH语句 / 连接查询
子查询 单行子查询:返回单行单列 多列子查询:返回单行多列(使用成对比较) 多行子查询:返回多行单列 相关子查询:子查询使用了外部SQL的某些表或列(但是外部SQL不可使用子查询中的表和列) 嵌套子查 ...
最新文章
- 印度电信巨头牵手阿里云 拥有全球最大规模私有海底光缆
- 我的空间为什么叫IT人?
- 第十届 蓝桥杯样题 ——结果填空
- java 截串_java字符串截取
- 加速引擎SmartFlow助力浪潮云海超融合2021H1中国市场增速第一
- Oracle在HPUX IA64平台登陆缓慢问题分析
- c#养老院老人信息管理系统源码 论文_我市“老年人关爱服务体系建设”专题研究论文荣获第五届青年学者老龄论坛特等奖_社会民生_新闻频道...
- 软件架构 —— 消息范式
- Semaphore(多资源多线程)
- 免费推广网站实例(珍藏版)
- Elasticsearch集群安全防护提出几个建议
- C#语言与Java语言程序的比较[转自chinaitlab]
- html边框缩短,有什么办法css border缩短
- 高等数学学习笔记——第九十二讲——函数项级数收敛与一致收敛
- Excel 函数 : 身份证号获取年纪等
- bmp图片转换成16进制数据
- 在python是什么意思_Python a=b是什么意思?
- FreeNOS--项目的README
- 迅速处理多个ts转mp4格式 - 无需安装
- 数据分析需要掌握的知识(2)