资讯 更多 >>
官宣!2023年哈萨克斯坦国际汽车及...
国家能源局:今年以来我国煤炭生产...
河南4名阳性人员私自返乡并瞒报情况...
山西吕梁:发现盗采矿产资源行为可举报
受害方律师:接法院通知,乐安命案...
橙色——“柑橘院士”邓秀新心中最...
刷视频相认的双胞胎姐妹:两次创业...
四川通报2021年秋冬季首批大气污染...
首轮筛查:天津73443人全部阴性!
首席气象预报员张霞:30年坚守筑牢...
动态更多 >>
MYSQL数据库基础--MySQL子查询怎么操作?
1688向新商家承诺“双保”_环球热议
【天天热闻】天地劫幽城再临归棹神...
世界快资讯:exfat是什么格式 exfa...
2023年5月6日股市为什么不开盘?五一...
餐饮供应链企业扎堆布局C端 寻求第...
别树一帜是什么意思_别树一帜出处
使命召唤6存档怎么用_使命召唤6存档
天天热资讯!露娜出装最强神装2021_...
奥园美谷收年报问询函,要求说明公...
会展 更多 >>
美籍酿酒师在崇礼:中国是第二故乡...
河南项城报告2名疑似新冠肺炎病例 ...
浙江绍兴确诊病例首次零新增 上虞...
广西东兴实行全员居家隔离 启动口...
新疆全方位推进乡村振兴 “富春山...
云南瑞丽市主城区全员核酸检测结果...
内蒙古满洲里累计治愈出院本土确诊...
孙海洋夫妻驱车山东阳谷:还在为孙...
大国工匠追梦“玉米强国”40载:用...
让南海“海洋热带雨林”斑斓多彩
专题报道 
当前位置: 动态 > >> 正文
 
MYSQL数据库基础--MySQL子查询怎么操作?
来源:博客园     时间:2023-05-06 10:28:52

前言

从今天开始本系列文章就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深, 全面讲解数据库体系。 非常适合零基础的小伙伴来学习。

全文大约 【1258】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图,让你更好的理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考......


【资料图】

一. 子查询

什么是子查询呢?健哥来为各位小伙伴细细道来。所谓子查询就是将一个查询结果作为判断条件或者作为一张虚拟表在这个结果的基础上进行另一个查询。

1.子查询(作为条件判断)

下面就是将查询结果作为另一个查询的判断条件。

语法 : SELECT 列名 FROM 表名 Where 条件 (子查询结果)

举个例子:查询和健哥同岁的其他同学。

#1.先查询到健哥的年龄select Sage from student where Sname="健哥"; #年龄是12#2.查询年龄等于健哥年龄的同学select * from student where Sage=12;#3.将 1、2 两条语句整合select * from student where Sage=(select Sage from student where Sname="健哥");

注意 :将子查询 ”一行一列“的结果作为外部查询的条件,做第二次查询子查询得到一行一列的结果才能作为外部查询的等值判断条件或不等值条件判断。

2.子查询(作为枚举查询条件)

子查询作为枚举查询条件使用是将一个查询结果(单列多行)的结果集作为枚举查询条件进行二次查询。

语法 :SELECT 列名 FROM 表名 Where 列名 in(子查询结果);

举个栗子:查询和健哥,旭哥同龄的学生信息。

#思路:#1. 先查询健哥和旭哥的年龄(多行单列)select Sage from student where Sname in("健哥", "旭哥"); #年龄是12和23#2. 再查询年龄为12和23的学员信息select * from student where Sage in(12, 23); #3.SQL:合并select * from student where Sage in(select Sage from student where Sname in("健哥", "旭哥")); 

将子查询 ”多行一列“的结果作为外部查询的枚举查询条件,做第二次查询。

3.子查询(作为一张表)

此处健哥敲黑板啦!非常重要,使用频率很高!

下面的子查询是将一个查询的结果当做一张虚拟表,然后在这个表的结果基础上再进行查询。

语法 :SELECT 列名 FROM (子查询的结果集) WHERE 条件;

举个栗子:查询最老的5名学生信息。

#思路:#1. 先对学生年龄排序查询(排序后的临时表)select * from student order by Sage desc;#2. 再查询临时表中前5行学生信息select *from (临时表) limit 0,5;#SQL:合并select * from (select * from student order by Sage desc) as temp limit 0,4;

将子查询 ”多行多列“的结果作为外部查询的一张表,做第二次查询。

注意:子查询作为临时表,为其赋予一个临时表名。

二. 结语

最后在这里对本文核心要点进行总结:

  1. 子查询有三种使用场景分别是:子查询结果作为判断条件、子查询结果作为枚举条件、子查询结果作为一个虚拟表进行二次查询。

  2. 以上三种使用方式各位小伙伴要熟练掌握哦。

关键词:

热门推荐
猜你喜欢