MySQL笔记 子查询

MySQL笔记 子查询

含义:

出现在其他语句中的select语句,称为子查询或内查询

外部的查询语句,称为主查询或外查询

分类:

按子查询出现的位置:

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

from后面:支持表子查询

where或having后面(重点):

标量子查询

列子查询

行子查询

exists后面(相关子查询):

表子查询

按结果集的行列数不同:

  1. 标量子查询(结果集只有一行一列)

  2. 列子查询(结果集只有一列多行)

  3. 行子查询(结果集有一行多列或多行多列)

  4. 表子查询(结果集有多行多列)

    一.where或having后面

  1. 标量子查询

  2. 列子查询

  3. 行子查询

特点:

  1. 子查询放在小括号内

  2. 子查询一半放在条件的右侧

  3. 标量子查询,一般搭配着单行操作符使用> < >= <= = <>

  4. 列子查询,一般搭配着多行操作符使用in , any/some , all

  5. 子查询的执行优先于主查询执行,主查询的条件用到了子查询的结果

案例:查询和Zlotkey相同部门的员工姓名和工资

SELECT last_name,salary
FROM employees
WHERE department_id=(
           SELECT department_id
           FROM employees
           WHERE last_name='Zlotkey'
           );

二.select后面

仅仅支持标量子查询

三.from后面

将子查询结果充当一张表,要求必须起别名

四.exisits后面(相关子查询)

语法:

exists(完整的查询语句)

结果:1或0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值