VRSC 中文站
栏目分类
ZAM中文网你的位置:VRSC 中文站 > ZAM中文网 > mysql子查询(单行子查询,多行子查询,多列子查询)
mysql子查询(单行子查询,多行子查询,多列子查询)

2025-01-04 14:15    点击次数:87

   子查询使用规则: 子查询放在圆括号中子查询放在比较条件右边(非强制)子查询中不需要ORDER BY 子句在单行子查询中使用单行运算符,在多行子查询中用多行运算符。单行运算符:子查询结果只有一个:< > = <= >= !=多行子查询:子查询结果是单列多行:in , any,all多列子查询:子查询为多列,一定要在FROM后作为表,且一定要取别名,否则无法访问这张表中的字段。 创建初始表 ANY SOME 关键字的子查询 返回tbl2的所有num2列,将tbl1中的num值与之进行比较,只要大于num2的任意一值,即为符合条件的结果。 ALL 关键字 新建一个orderitems表 填入数据 带 IN 关键字 的子查询 #在orderitem表中查询f_id为c0 的订单号,并根据订单号查询具有订单号的客户c_id,SQL语句如下: NOT IN 连接查询 (也可以解决这个问题,但有空值,但子查询更容易阅读和编写) 多列子查询 在 orderitems 表中查询 f_id 为 c0 的订单号的所有信息,并根据订单号查询具有订单号的客户的所有信息,SQL语句如下: *注意:子查询结果为多列,一定在FROM后做为表,且一定要取别名,否则无法访问这张表中的字段。 带比较运算符的子查询 #在suppliers表中查询s_city等于‘tianjin’的供应商s_id,然后在fruits表中,查询所有非该供应商供应的水果种类名称。 带EXISTS 关键字的子查询 EXISTS关键字后是任意一个子查询: 若至少返回一行,则结果为True,此时外层将进行查询。 若没有返回任何行,则返回的结果为false,此时外层语句将不进行查询。NOT EXISTS 和 EXISTS 的使用方法相同,返回的结果相反。查询suppliers中是否存在s_id 的供应商,若存在,则查询fruits表中所有记录: 返回结果: EXISTS也可以和条件表达式一起使用: 例:查询suppliers中是否存在s_id 的供应商,若存在,则查询fruits表中f_price>10.20的记录:  到此这篇关于mysql子查询(单行子查询,多行子查询,多列子查询)的文章就介绍到这了,更多相关MySQL子查询 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

Powered by VRSC 中文站 @2013-2022 RSS地图 HTML地图

Copyright Powered by365建站 © 2013-2024