在 SQL 中,子查询是一个查询嵌套在另一个查询中的查询,也被称为内部查询。子查询可以用来创建更复杂的查询,从而实现更高级的数据检索和分析。
子查询可以根据其位置和返回结果的数量和数据类型分为以下三种类型:
SELECT first_name, last_name, salary
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);在这个例子中,子查询 (SELECT AVG(salary) FROM employees) 返回平均工资,然后在 WHERE 子句中将其与员工的薪资进行比较。
SELECT product_name, product_price
FROM products
WHERE product_category_id IN (SELECT category_id FROM categories WHERE category_name = 'Electronics');在这个例子中,子查询 (SELECT category_id FROM categories WHERE category_name = 'Electronics') 返回电子类别的 ID,然后在 WHERE 子句中将其与产品表中的产品类别 ID 进行比较。
SELECT c.customer_name, o.order_number, o.order_date
FROM customers c
JOIN (SELECT order_id, order_number, order_date, customer_id FROM orders) o
ON c.customer_id = o.customer_id;在这个例子中,子查询 (SELECT order_id, order_number, order_date, customer_id FROM orders) 返回订单表的一部分,然后将其与客户表进行连接,以获取每个客户的订单信息。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。