在MySQL中,SELECT語句可以與子查詢配合使用,以便從一個或多個表中檢索數據。子查詢是嵌套在主查詢中的查詢,它可以在主查詢的WHERE子句、SELECT列表或FROM子句中使用。以下是一些使用子查詢的示例:
SELECT * FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);
這個查詢將返回工資高于員工平均值的員工。
SELECT employee_id, (SELECT department_id FROM departments WHERE departments.name = employees.department_id) AS department_id
FROM employees;
這個查詢將返回員工ID和他們的部門ID。
SELECT * FROM (SELECT employee_id, department_id FROM employees) AS subquery
WHERE subquery.department_id = 10;
這個查詢將返回部門ID為10的所有員工。
SELECT employees.employee_id, employees.first_name, departments.department_name
FROM employees
JOIN departments ON employees.department_id = departments.department_id
WHERE departments.department_id IN (SELECT department_id FROM departments WHERE department_name = 'Sales');
這個查詢將返回銷售部門的員工ID、名字和部門名稱。
這些示例展示了如何在不同的場景中使用子查詢來檢索和操作數據。子查詢可以使查詢更加靈活和強大,以滿足各種復雜的業務需求。