欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

子查询

程序员文章站 2022-07-06 10:09:58
子查询什么是子查询:子查询就是将一个查询的结果作为另一个查询的数据来源或判断条件的查询。在增删改查语句中嵌套使用另外一条select语句常见的子查询都是什么:常见的子查询包括:WHERE子查询,FROM子查询,HAVING子查询,EXISTS子查询,子查询必须使用小括号括起来。**子查询的执行顺序:**先子后父查询年龄比小梅小的学生信息SELECT * FROM student WHERE borndate>(SELECT borndate FROM student WHERE `n...

子查询

什么是子查询:
子查询就是将一个查询的结果作为另一个查询的数据来源或判断条件的查询。
在增删改查语句中嵌套使用另外一条select语句
常见的子查询都是什么:
常见的子查询包括:WHERE子查询,FROM子查询,HAVING子查询,EXISTS子查询,子查询必须使用小括号括起来。
**子查询的执行顺序:**先子后父

查询年龄比小梅小的学生信息

SELECT * FROM student WHERE borndate>
(SELECT borndate FROM student WHERE `name`='肖梅')

在查询中 ‘=’ h和 in 的区别
= 在子查询语句只返回一个数据时可以进行比较
in: 在子查询语句返回多个数据时可以进行比较

查询S1的学生信息

SELECT * FROM student WHERE gradeid= 
(SELECT gradeid FROM grade WHERE gradename='S1')

查询S1和S2的学生

 SELECT * FROM student WHERE gradeid IN
 (SELECT gradeid FROM grade WHERE gradename='S1'OR gradename='S2')

模糊查询符号代表的含义

% :任意长度 —:单个字符 []:在范围内 [^]:除此以外
#查询姓张的学生

SELECT * FROM student WHERE `name` LIKE'张%'

#查询除北京以外的学生

SELECT * FROM student WHERE address NOT LIKE'%北京%'

in 和exists的区别
in :会将子查询语句的结果整合到父查询语句中进行一一比较
exists :只关心子查询语句有没有结果 如果有则执行前面的SQL语句 没有结果则不执行前面的SQL
exists的用法:
创建新表或者新库时以防出现冲突问题

CREATE TABLE IF NOT EXISTS studentbak;

#删除表或者库的时候以防出现问题

DROP TABLE IF EXISTS student;

本文地址:https://blog.csdn.net/m0_48220895/article/details/107311436