美文网首页mysql
MYSQL-子查询

MYSQL-子查询

作者: GALAXY_ZMY | 来源:发表于2015-10-29 15:57 被阅读149次

子查询是一个查询语句嵌套在另一个查询语句中。内层查询语句的结果,可以为外层查询语句提供查询条件。

子查询关键字:in、not in、any、all、exists、not exists

1.带in关键字的子查询

实例:
select * from employee where d_id in (select d_id from department)
not in与之相反。

2.带比较运算符的子查询

比较运算符包括=、!=、> 、>=、 <、 <=、 <>等

select id,name,score from computer_stu where score >= (select score from schoolarship where level = 1);

3.带exists关键字的子查询

exists表示存在。内层返回一个布尔值。当内层返回false,则不进行外层查询,返回空值;如果内层返回true,则进行外层查询。
select * from employee where exists (select d_name from department where d_id = 1003);
exists可以与其他查询条件一起使用,用and、or连接。
select * from employee where age > 25 and exists (select d_name from department where d_id = 1003);
not exists与exists正好相反。

4.带any关键字的子查询

any关键字表示满足其中任何一条件。只要满足内层查询语句返回结果中的任何一个,就可以通过该条件执行外层查询语句。

>any 表示大于任何一个值,=any表示等于任何一个值。

select * from computer_stu where score >= any (select score from scholarship);

5.带all关键字的子查询

all表示满足所有条件。只有满足内衬层查询语句返回的所有结果,才可以执行外层查询语句。
select * from computer_stu where score >= all (select score from scholarship);

相关文章

  • MYSQL-子查询

    子查询是一个查询语句嵌套在另一个查询语句中。内层查询语句的结果,可以为外层查询语句提供查询条件。 子查询关键字:i...

  • MySQL-子查询及连接

    子查询 当一个查询是另一个查询的条件时,称之为子查询。 子查询必须用括号括起来。由比较运算符引发的子查询:先新建一...

  • MYSQL-子查询与连接

    子查询(subquery)指出现在其他SQL语句内的SELECT子句 子查询指嵌套在查询内部,且必须始终出现在圆括...

  • MYSQL-索引

    MYSQL-索引 概述 用来加快查询的技术很多,其中最重要的是索引。通常索引能够快速提高查询速度。如果不适用索引,...

  • MySql-多表查询

    多表查询分为以下几种: 合并结果集: UNION UNION ALL 连接查询 ...

  • mysql-查询2

    分组查询 group by group by 属性名 [having 条件表达式][ with rollup] “...

  • mysql-查询3

    1.limit限制查询结果条数 1)不指定起始位置 limit 记录数 记录数超过查询结果则显示所有的记录,不会报...

  • mysql-查询1

    1.基本查询语句 select 属性列表 from 表名和视图列表 [where 条件表达式1] [group b...

  • mysql-查询优化

    ref : http://coolshell.cn/articles/1846.html 为查询缓存优化你的查询大...

  • mysql-子表查询

    子查询是将一个查询语句嵌套在另一个查询语句之中。 子查询的结果可为外层查询提供一个范围 子查询中可以包含:IN、N...

网友评论

    本文标题:MYSQL-子查询

    本文链接:https://www.haomeiwen.com/subject/elcfhttx.html