博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL 必知必会·笔记<9>使用子查询
阅读量:6641 次
发布时间:2019-06-25

本文共 869 字,大约阅读时间需要 2 分钟。

子查询(subquery),即嵌套在其他查询中的查询。

1. 利用子查询进行过滤

SELECT 语句中,子查询总是从内向外处理。示例:

 
1 SELECT cust_name, cust_contact2 FROM Customers3 WHERE cust_id IN (SELECT cust_id4                   FROM Order5                   WHERE order_num IN (SELECT order_num6                                       FROM OrderItems7                                       WHERE prod_id = 'RGAN01'));
 

 注意:只能是单列

作为子查询的SELECT 语句只能查询单个列。企图检索多个列将返回错误

提示:格式化SQL

包含子查询的SELECT 语句难以阅读和调试,它们在较为复杂时更是 如此。如上所示,把子查询分解为多行并进行适当的缩进,能极大地 简化子查询的使用。

提示:谨慎使用子查询

在WHERE 子句中使用子查询能够编写出功能很强且很灵活的SQL 语句。对于能嵌套的子查询的数目没有限制,不过在实际使用时由于性 能的限制,不能嵌套太多的子查询。

2. 作为计算字段使用子查询

示例:

 
1 SELECT cust_name,2        cust_state,3        (SELECT COUNT(*)4         FROM Orders5         WHERE Orders.cust_id = Customers.cust_id) AS orders6 FROM Customers7 ORDER BY cust_name;
 
本文转自gyzhao博客园博客,原文链接:http://www.cnblogs.com/IPrograming/p/3291731.html
,如需转载请自行联系原作者
你可能感兴趣的文章
USB子系统gadget analyse
查看>>
selenium webdriver API
查看>>
关于Android开发中Arm、X86和Mips(草稿)
查看>>
Weblogic报错:Unsupported major.minor version 52.0
查看>>
Python_函数_参数
查看>>
排序算法之堆排序及其C语言代码实现
查看>>
Linux Shell基础 Bash常见命令 echo命令
查看>>
公开一个云计算和云存储的源代码.
查看>>
js点击出现二级菜单,点击二级菜单主菜单换成二级菜单
查看>>
Git远程操作详解(clone、remote、fetch、pull、push)
查看>>
jquery mobile 复选框和单选框
查看>>
cookie,session与中间键
查看>>
webstorm快捷键
查看>>
@Selector 的一些总结
查看>>
OpenJudge/Poj 1936 All in All
查看>>
orcale 之 数据完整性约束
查看>>
spring boot自定义properity
查看>>
<20180927>新开一篇章记录常用到的IT名词
查看>>
mysqldump导出sql文件中insert多行问题
查看>>
html5调用手机本地摄像头和相册识别二维码详细实现过程
查看>>