subquery ها
زیر پرس و جو عبارت است از جستجوی موجود در جستجوی دیگر.
بیایید یک مثال را در نظر بگیریم. ممکن است به لیست تمام کارکنانی که حقوقشان بیشتر از متوسط است نیاز داشته باشیم.
ابتدا میانگین را محاسبه کنید:
SELECT AVG(Salary) FROM employees;
همانطور که قبلاً میانگین را می دانیم ، می توانیم از WHERE ساده برای لیست حقوق بیشتر از این تعداد استفاده کنیم.
SELECT FirstName, Salary FROM employees
WHERE Salary > 3100
ORDER BY Salary DESC;
خروجی:
نکته: کلمه کلیدی DESC نتایج را به ترتیب نزولی مرتب می کند.به طور مشابه ، ASC نتایج را به ترتیب صعودی مرتب می کند.
یک subquery تک نتیجه همان نتیجه را راحت تر برمی گرداند.
SELECT FirstName, Salary FROM employees
WHERE Salary > (SELECT AVG(Salary) FROM employees)
ORDER BY Salary DESC;
خروجی:
نکته:پرسشنامه را درون پرانتز قرار دهید. همچنین توجه داشته باشید که در پایان subquery هیچ نقطه ویرگول وجود ندارد ، زیرا این بخشی از کوئری ما است.