SQL 子查询是嵌套在主查询中的独立查询,用于执行多个查询。类型有:关联子查询:关联主查询和子查询行。非关联子查询:不关联主查询和子查询行。相关子查询:从主查询引用列。用法包括:过滤数据、聚合数据、比较数据、更新数据。
SQL 子查询指南
什么是 SQL 子查询?
SQL 子查询是一个嵌套在主查询中的独立查询。它允许在一个查询语句中执行多个查询。
如何使用 SQL 子查询?
子查询可以使用以下语法:
主查询 (子查询)
例如:
SELECT *
FROM users
WHERE id IN (
SELECT user_id
FROM orders
WHERE product_id = 1
);子查询的类型
有三种类型的子查询:
子查询的用法
子查询可以用于:
示例
关联子查询
SELECT *
FROM users
WHERE id IN (
SELECT user_id
FROM orders
WHERE product_id = 1
);非关联子查询
SELECT * FROM users WHERE email LIKE '%@example.com%' AND user_id > ( SELECT MIN(user_id) FROM users );
相关子查询
UPDATE users
SET last_login = CURRENT_TIMESTAMP
WHERE id = (
SELECT user_id
FROM orders
WHERE product_id = 1
ORDER BY order_date DESC
LIMIT 1
);