Mysql常见子查询语句

常见子查询语句
形式:
where  字段  比较运算符  (标量子查询);
因为其相当于:
where  字段  比较运算符  一个具体值;  //比如:where  age > 18

使用in的子查询

  • 01

    形式: where  字段  in  (列子查询); 这里,列子查询可能是“多个值”,虽然查询的输出结果是“一列”的,但我们要理解为是“多个值的列表”,其相当于: where  字段  in (值1,值2,....);比如: where  age  in (18, 28, 38); 表示age为其中任意一个就可以 举例: 找出跟索尼品牌的商品的产地相同产地的商品; select  *  from  product  where  chandi in ( select chandi  from product  where pinpai = ‘索尼’ );

使用any的子查询

  • 01

    形式: where  字段  比较运算符  any  (列子查询); 含义: 表示,该字段的值,对该列子查询所查询出来的多个值,有一个满足该比较运算符,就算满足了。 举例: 表:tab1

  • 02

    elect  * from  tab1  where  f2  = any (select  n2  from  tab2 ); 则表示f2的值,等于该子查询的任何其中一个值,就算满足了该“相等”判断。 当前,其相当于: select  * from  tab1  where  f2  in  (select  n2  from  tab2 ); 继续举例: select  * from  tab1  where  f2  <  any (select  n2  from  tab2 ); //此时tab1中的2行都取出 但如果: select  * from  tab2  where  n2  <  any (select  f2  from  tab1 ); //此时tab2中的n1=11的行取出 可见: any就是“其中之一”的意思。

  • 03

    使用的子查询 形式: where  字段  比较运算符  some  (列子查询); 含义: 同any。即some是any的同义词。

使用all的子查询:

  • 01

    形式: where  字段  比较运算符  all  (列子查询); 含义: 表示,该字段的值,要对该列子查询的所有结果数据,全都满足该运算符,才算符合条件。 举例: 表:tab1

  • 02

    继续举例: select  * from  tab2  where  n2  >  all (select  f2  from  tab1 ); //此时tab2中的n1=12的行取出 select  * from  tab2  where  n2  <  all (select  f2  from  tab1 ); //此时结果为“空结果集”(即0行)

使用exists的子查询

  • 01

    形式: where  exists ( 任何子查询 ) 含义: 该子查询如果“有数据结果”, 则该exists()的结果为“true” 该子查询如果“没有数据结果”,则该exists()的结果为“false” 特别注意: 1,该子查询,如果其仅仅是为了得到“有没有数据”的结果,则通常此时对主查询就失去应用意义; 2,实际上,该子查询,通常都需要在子查询(内部)中来使用主查询(外部)的某些字段作为条件数据,这样才能具有一定的实用意义。 其实,这种情况下的子查询,对于mysql内部,是做了“内连接之后”的结果。 举例1: select * from product where exists( select * from product_type where product_type.protype_id = product.protype_id and protype_name like '%码%' );

  • 02

    举例2:

  • 03

    举例3:

(0)

相关推荐

  • MySql查询语句介绍,多表联合查询

    mysql在网站开发中,越来越多人使用了,方便部署,方便使用.我们要掌握mysql,首先要学习查询语句.查询单个表的数据,和多个表的联合查询. 上一篇写了[MySql查询语句介绍,单表查询],下面以一 ...

  • MySql查询语句介绍,单表查询

    mysql在网站开发中,越来越多人使用了,方便部署,方便使用.我们要掌握mysql,首先要学习查询语句.查询单个表的数据,和多个表的联合查询. 下面以一些例子来先简单介绍下单表查询. 操作方法 01 ...

  • 如何在MySQL数据库进行子查询

    子查询是将一个查询语句嵌套在另一个查询语句中,内层查询语句的查询结果,可以作为外层查询语句提供查询条件.子查询中可能包括IN.NOT IN.ANY.ALL.EXISTS和NOT EXISTS等关键字, ...

  • Mysql常见错误提示及解决方法

    Mysql常见错误提示及解决方法 操作方法 01 Mysql常见错误提示及解决方法 130 :文件格式不正确.(还不是很清楚错误的状况)145  :文件无法打开.1005:创建表失败.1006:创建数 ...

  • SQL查询:[6]子查询

    在SELECT查询时,在WHERE查询条件中的限制条件不是一个确定的值,而是来自另一个查询的结果,这种为主查询提供数据而首先执行的查询语句叫做子查询.根据返回结果的不同,子查询可分为单行子查询.多行子 ...

  • mysql 去掉重复查询记录方法

    mysql 去掉重复查询记录方法 操作方法 01 SQL语句:SELECT `lcontent` FROM `caiji_ym_liuyan`这样查询的时候就会有很多重复的记录 例子: 就会出现这样的 ...

  • Navicat for MySQL怎样执行SQL语句呢

    很多小可爱可能都会使用Navicat for MySQL来操作电脑的MySQL数据库,今天小编我就来分享一下Navicat for MySQL怎样执行SQL语句. 操作方法 01 首先,使用Navic ...

  • MySQL数据库中的语句用法

    MySQL数据库中的语句应用 操作方法 01 通配符的使用: _:匹配一个字符 %:匹配0个或者多个字符 02 创建数据库: create database 数据库名称: 03 创建表: create ...

  • MYSQL常用的基本语句

    MYSQL是一个关系型数据库,和Sql Server类似,下面我们来看一下MYSQL常用的基本语句有哪些. 操作方法 01 首先肯定是查询语句了,通过select来查询. 比如 Select * Fr ...