开发者社区> 吞吞吐吐的> 正文

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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
云数据库 MySQL 版的优势和使用场景|学习笔记
快速学习云数据库 MySQL 版的优势和使用场景
31 0
《SQL必知必会》读书笔记,30分钟入门SQL!(二)
本篇文章是 《SQL 必知必会》 的读书笔记,SQL必知必会的英文名叫做 Sams Teach Yourself in 10 Minutes。但是,我肯定是不能够在10分钟就能学会本书所有涉及到的sql,所以就起个名字叫30分钟学会SQL语句。 目前手边的数据库是 mysql,所以以下示例均是由 mysql 演示。由于现在大部分工具都支持语法高亮,所以以下关键字都使用小写。
28 0
Access中使用sql查询
在ACCESS中使用SQL查询语句检查SQL语法时非常有用。 操作步骤如下: 【创建】->【查询设计】 直接关闭弹出的【显示表】 找到【SQL视图】: 在查询命令窗口输入命令,然后执行运行命令。
754 0
mysql必知必会2
2018年7月10日笔记 1.创建数据表和插入数据 创建表commodityType create table commodityType( id int primary key, name varchar(50) ) 表commodityType插...
1120 0
kbmmw 中JSON 中使用SQL 查询
前面讲到了kbmmw 的JSON 对象操作,如何快速的查找JSON 中的值? 一种办法就是通过遍历的方法,其实在kbmmw 还有一种灵活的查询方式, 就是通过SQL 方式查询JSON 中的值。也就是说用TKbmmwmemSQL 控件来实现。
986 0
4852
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载