SQL 必知必会·笔记<9>使用子查询

简介:

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

1. 利用子查询进行过滤

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

复制代码
1 SELECT cust_name, cust_contact
2 FROM Customers
3 WHERE cust_id IN (SELECT cust_id
4                   FROM Order
5                   WHERE order_num IN (SELECT order_num
6                                       FROM OrderItems
7                                       WHERE prod_id = 'RGAN01'));
复制代码

 注意:只能是单列

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

提示:格式化SQL

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

提示:谨慎使用子查询

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

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

示例:

复制代码
1 SELECT cust_name,
2        cust_state,
3        (SELECT COUNT(*)
4         FROM Orders
5         WHERE Orders.cust_id = Customers.cust_id) AS orders
6 FROM Customers
7 ORDER BY cust_name;
复制代码
本文转自gyzhao博客园博客,原文链接:http://www.cnblogs.com/IPrograming/p/3291731.html ,如需转载请自行联系原作者
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
《SQL必知必会》个人笔记(一)
《SQL必知必会》个人笔记(一)
42 0
|
4月前
|
SQL 数据库
SQL Server 连接查询和子查询
SQL Server 连接查询和子查询
89 0
|
7月前
|
SQL 数据库 索引
阿里P8整理出SQL笔记:收获不止SOL优化抓住SQL的本质
开头我先说: 有人就有江湖,有江湖就有IT系统,有IT系统就有数据库,有数据库就有SQL,SQL应用可一字概括:“"广"。加之其简单易学,SQL实现也可一字概括:“乐”。
|
7月前
|
SQL
sql语言之子查询语句
sql语言之子查询语句
|
5月前
|
SQL 分布式计算 HIVE
pyspark笔记(RDD,DataFrame和Spark SQL)1
pyspark笔记(RDD,DataFrame和Spark SQL)
54 1
|
8天前
|
SQL 存储 关系型数据库
【MySQL实战笔记】02.一条SQL更新语句是如何执行的-2
【4月更文挑战第5天】两阶段提交是为确保`redo log`和`binlog`逻辑一致,避免数据不一致。若先写`redo log`, crash后数据可能丢失,导致恢复后状态错误;若先写`binlog`,crash则可能导致重复事务,影响数据库一致性。一天一备相较于一周一备,能缩短“最长恢复时间”,但需权衡额外的存储成本。
14 1
|
2月前
|
SQL 存储 数据库
【数据库SQL server】自学终极笔记
【数据库SQL server】自学终极笔记
93 0
|
2月前
|
SQL 存储 安全
《SQL必知必会》个人笔记(四)
《SQL必知必会》个人笔记(四)
31 0
|
2月前
|
SQL 关系型数据库 数据库
《SQL必知必会》个人笔记(三)
《SQL必知必会》个人笔记(三)
22 0
|
2月前
|
SQL 存储 Oracle
《SQL必知必会》个人笔记(二)
《SQL必知必会》个人笔记(二)
30 0