一:含义

嵌套在其他语句内部的select语句称之为子查询或内查询

外套的语句还可以是 insert,update,delete,一般用select比较多

外面如果是select语句,我们称之为外查询,或主查询

二:分类

①按照出现的位置

select 后面 :仅仅支持标量子查询

from 后面: 表查询

where 或having 后面: 标量子查询,列子查询,行子查询

exists后面: 标量子查询,列子查询,行子查询,表子查询

select 后面 接的是列表,标量子查询的结果应该也是一个列表

from 后面  接的是表,所以是表查询

②按照结果集的行列

标量子查询:结果集为一行一列

行子查询:结果集为 一行多列

列子查询:结果集为一列多行

表子查询:结果集为多行多列

三 举例

1.标量子查询 :

#案例:查询最低工资的员工姓名和工资
select last_name,salary
from employees
where salary=(
select min(salary) from employees
);

列子查询:

#案例:查询所有是领导的员工姓名
select last_name
from employees
where employee_id in(
select manager_id
from employees
);

DQL-子查询的更多相关文章

  1. MySQL数据库 crud语句 ifnull() 创建新账户 备份数据库 一对多关系 多对多(中间表) 外键约束 自关联 子查询注意事项 DML DDL DQL mysql面试题 truncate与delete的区别

    DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL ...

  2. MySQL中的DML、DQL和子查询

    一.MySQL中的DML语句 1.使用insert插入数据记录: INSERT INTO `myschool`.`student` (`studentNo`, `loginPwd`, `student ...

  3. SELECT中(非常)常用的子查询操作

    MySQL中的子查询 是在MySQL中经常使用到的一个操作,不仅仅是用在DQL语句中,在DDL语句.DML语句中也都会常用到子查询. 子查询的定义: 子查询是将一个查询语句嵌套在另一个查询语句中: 在 ...

  4. sql语句增删改查与子查询

    修改表 修改表 语法: Alter table <旧表名> rename [ TO] <新表名>; 例子:Alter table `demo01` rename `demo02 ...

  5. SELECT中常用的子查询操作

    MySQL中的子查询 是在MySQL中经常使用到的一个操作,不仅仅是用在DQL语句中,在DDL语句.DML语句中也都会常用到子查询. 子查询的定义: 子查询是将一个查询语句嵌套在另一个查询语句中: 在 ...

  6. 6.2笔记-DQL语句查询数据库

    一.DQL语句 1.常量列 SELECT `StudentName` AS 姓名, `Address` AS 地址, '北京信息中心' AS 学校名称 FROM `student`; 2.常用函数 聚 ...

  7. 深入理解MySql子查询IN的执行和优化

    IN为什么慢? 在应用程序中使用子查询后,SQL语句的查询性能变得非常糟糕.例如: SELECT driver_id FROM driver where driver_id in (SELECT dr ...

  8. Mysql - 性能优化之子查询

    记得在做项目的时候, 听到过一句话, 尽量不要使用子查询, 那么这一篇就来看一下, 这句话是否是正确的. 那在这之前, 需要介绍一些概念性东西和mysql对语句的大致处理. 当Mysql Server ...

  9. 在SQL Server中为什么不建议使用Not In子查询

        在SQL Server中,子查询可以分为相关子查询和无关子查询,对于无关子查询来说,Not In子句比较常见,但Not In潜在会带来下面两种问题: 结果不准确 查询性能低下       下面 ...

  10. 读书笔记--SQL必知必会11--使用子查询

    11.1 子查询 查询(query),任何SQL语句都是查询.但此术语一般指SELECT语句. SQL还允许创建子查询(subquery),即嵌套在其他查询中的查询. 作为子查询的SELECT语句只能 ...

随机推荐

  1. side Effect

    副作用 side Effect 副作用是在计算结果的过程中,系统状态的一种变化,或者与外部世界进行的可观察的交互. 副作用可能包含,但不限于: 1.更改文件系统 2.往数据库里插入数据 3.发送一个h ...

  2. C语言——栈的基本运算在顺序栈上的实现

    头文件 Seqstack.h #define maxsize 6 //const int maxsize = 6; // 顺序栈 typedef struct seqstack { int data[ ...

  3. eclipse svn使用

    简单介绍一些基本操作 1.同步在Eclipse下,右击你要同步的工程->team->与资源库同步->这时会进入同步透视图,会显示出本机与SVN上内容有不同的文件,双击文件名,会显示出 ...

  4. Apache服务器运维笔记(6)----目录 文件 网络容器的安全问题

    <Directory>.<Files>.<Location> 这三个容器的作用都很相似,都是以容器的形式来封装一组指令对访问进行控制,只是它们的区别在于作用于目录. ...

  5. hdu 1162 Eddy's picture (Kruskal 算法)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1162 Eddy's picture Time Limit: 2000/1000 MS (Java/Ot ...

  6. Qt 日志输出文件

    在Qt开发过程当中经常使用qDebug等一些输出来调试程序,但是到了正式发布的时候,都会被注释或者删除,采用日志输出来代替.     做过项目的童鞋可能都使用过日志功能,以便有异常错误能够快速跟踪.定 ...

  7. python nose测试

    前提: python3 安装nose 结果: nose目录下有子目录tests和mybag,在mybag下新建my_age.py, 内部有Students类,age属性. tests目录下写Sutde ...

  8. Thrift学习笔记—IDL基本类型

    thrift 采用IDL(Interface Definition Language)来定义通用的服务接口,并通过生成不同的语言代理实现来达到跨语言.平台的功能.在thrift的IDL中可以定义以下一 ...

  9. Http status(二)

    http含义: http 200:-文件被正常的访问 http 302:临时重定向 HTTP错误列表 HTTP 400 - 请求无效 HTTP 401.1 - 未授权:登录失败 HTTP 401.2 ...

  10. gmock使用、原理及源码分析

    1      初识gmock 1.1      什么是Mock 便捷的模拟对象的方法. 1.2      Google Mock概述 google mock是用来配合google test对C++项目 ...