My sql子查询

1.标量子查询 用等于号
2.行子查询 用等于号
3.列子查询 用in
4.表子查询 用in
1.定义:
查询允许把一个查询嵌套在另一个查询当中。
  子查询,又叫内部查询,相对于内部查询,包含内部查询的就称为外部查询。
  子查询可以包含普通select可以包括的任何子句
子查询的位置: select 中、from 后、where 中.group by 和order by 中无实用意义。
2. 子查询分类:
1)标量子查询:返回单一值的标量,最简单的形式。
是指子查询返回的是单一值的标量,如一个数字或一个字符串,也是子查询中最简单的返回形式。 可以使用 = > < >= <= <> 这些操作符对子查询的标量结果进行比较,通常子查询的位置在比较式的右侧
SELECT * FROM article WHERE uid = (SELECT uid FROM user WHERE status=1 ORDER BY uid DESC LIMIT 1)
2)列子查询:返回的结果集是 N 行一列。
指子查询返回的结果集是 N 行一列,该结果通常来自对表的某个字段查询返回。 可以使用 = > < >= <= <> 这些操作符对子查询的标量结果进行比较,通常子查询的位置在比较式的右侧 可以使用 IN、ANY、SOME 和 ALL 操作符,不能直接使用 = > < >= <= <> 这些比较标量结果的操作符。
Select * from article where uid in(select uid from user where status=1 order by uid DESC limit 1);
SELECT * FROM article WHERE uid IN(SELECT uid FROM user WHERE status=1)
3)行子查询:返回的结果集是一行 N 列。
指子查询返回的结果集是一行 N 列,该子查询的结果通常是对表的某行数据进行查询而返回的结果集。
select * from sc where (sid,cid)=((select sid from student where sname=“王五”),(select cid from course where tid=3));
SELECT * FROM article WHERE (title,content,uid) = (SELECT title,content,uid FROM blog WHERE bid=2)
4) 表子查询:返回的结果集是 N 行 N 列。
指子查询返回的结果集是 N 行 N 列的一个表数据。
SELECT * FROM article WHERE (title,content,uid) IN (SELECT title,content,uid FROM blog)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值