Sesuatu subkueri, juga dikenali sebagai pertanyaan dalaman atau pertanyaan bersarang, ialah pertanyaan dalam pertanyaan SQL yang lain. Ia disertakan dalam kurungan dan dilaksanakan terlebih dahulu untuk memberikan hasil yang digunakan oleh pertanyaan luar untuk pemprosesan selanjutnya.
Contoh:
Cari nama pekerja yang mempunyai gaji tertinggi:
SELECT Name FROM Employees WHERE Salary = (SELECT MAX(Salary) FROM Employees);
Contoh:
Cari pekerja yang bekerja di jabatan dengan lebih daripada 5 ahli:
SELECT Name FROM Employees WHERE DepartmentID IN (SELECT DepartmentID FROM Departments WHERE Members > 5);
Contoh:
Cari pekerja yang berpendapatan lebih daripada purata gaji jabatan mereka:
SELECT Name, Salary FROM Employees E WHERE Salary > (SELECT AVG(Salary) FROM Employees WHERE DepartmentID = E.DepartmentID);
Contoh:
Cari jabatan yang purata gaji pekerja melebihi $50,000:
SELECT Name FROM Employees WHERE Salary = (SELECT MAX(Salary) FROM Employees);
SELECT Name FROM Employees WHERE DepartmentID IN (SELECT DepartmentID FROM Departments WHERE Members > 5);
SELECT Name, Salary FROM Employees E WHERE Salary > (SELECT AVG(Salary) FROM Employees WHERE DepartmentID = E.DepartmentID);
SELECT DepartmentName FROM Departments WHERE DepartmentID IN ( SELECT DepartmentID FROM Employees WHERE Salary > (SELECT AVG(Salary) FROM Employees) );
SELECT * FROM Products WHERE Price > (SELECT AVG(Price) FROM Products);
Subqueries ialah alat yang berkuasa dalam SQL untuk memecahkan logik kompleks kepada bahagian yang boleh diurus, membolehkan analisis data dinamik dan memudahkan manipulasi data. Walau bagaimanapun, memahami masa untuk menggunakan subkueri berbanding alternatif seperti cantuman adalah penting untuk prestasi pertanyaan yang optimum.
Atas ialah kandungan terperinci Memahami SQL Subqueries: Panduan Lengkap dengan Contoh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!