子查询
任何SQL语句都是查询,但术语一般指SELECT语句。
利用子查询进行过滤
mysql> SELECT cust_id FROM orders WHERE order_num IN (20005,20007);
+---------+
| cust_id |
+---------+
| 10001 |
| 10004 |
+---------+
2 rows in set (0.00 sec)
mysql> SELECT cust_id FROM orders WHERE order_num IN (SELECT order_num FROM orderitems WHERE prod_id = 'TNT2');
+---------+
| cust_id |
+---------+
| 10001 |
| 10004 |
+---------+
2 rows in set (0.00 sec)
mysql> SELECT cust_name,cust_contact FROM customers WHERE cust_id IN (SELECT cust_id FROM orders WHERE order_num IN (SELECT order_num FROM orderitems WHERE prod_id = 'TNT2'));
+----------------+--------------+
| cust_name | cust_contact |
+----------------+--------------+
| Coyote Inc. | Y Lee |
| Yosemite Place | Y Sam |
+----------------+--------------+
2 rows in set (0.00 sec)
作为计算字段使用子查询
mysql> SELECT cust_

本文深入探讨了SQL中的子查询,包括如何利用子查询进行数据过滤和作为计算字段使用。通过实例解析了相关子查询的概念,强调了在存在列名多义性时,明确指定列名的重要性,以确保查询结果的准确性。
最低0.47元/天 解锁文章
1377

被折叠的 条评论
为什么被折叠?



