دسته بندی مقالات
- بیشتر -محصولات
- بیشتر -آخرین مقالات
- بیشتر --
Class Library در سی شارپ
1404/01/10 -
دستور BREAK در پایگاه داده sql
1404/01/02 -
دستور CONTINUE در پایگاه داده SQL
1404/01/01 -
دستور WAITFOR در پایگاه داده SQL
1403/12/26 -
دستور GOTO در پایگاه داده SQL
1403/12/25 -
حلقه WHILE در پایگاه داده SQL
1403/12/24
دستور Select در پایگاه داده اوراکل

تعریف دستور SELECT در پایگاه داده اوراکل
دستور SELECT در پایگاه داده اوراکل (Oracle Database) یکی از پرکاربردترین و بنیادیترین دستورات SQL است که برای بازیابی دادهها از جداول پایگاه داده استفاده میشود.
این دستور به شما امکان میدهد تا دادههای موجود در یک یا چند جدول را بر اساس نیاز خود فیلتر، مرتب، گروهبندی و تحلیل کنید.
دستور SELECT در پایگاه داده اوراکل ابزاری قدرتمند و انعطافپذیر برای بازیابی و تحلیل دادههاست.
با درک صحیح از ساختار این دستور و استفاده بهینه از اجزای آن مانند WHERE
، ORDER BY
، GROUP BY
و JOIN
، میتوان به نتایج دقیقی دست یافت.
تسلط بر این دستور برای هر توسعهدهنده و مدیر پایگاه داده ضروری است، چرا که این دستور پایهای برای بسیاری از عملیاتها در SQL محسوب میشود.
در این مقاله، به بررسی دقیقتر ساختار دستوری SELECT و نحوه استفاده از آن در SQL Queries میپردازیم.
ساختار کلی دستور SELECT
ساختار پایه دستور SELECT به شکل زیر است:
SELECT column1, column2, ... FROM table_name WHERE condition GROUP BY column_name HAVING condition ORDER BY column_name;
این ساختار شامل چندین بخش است که هرکدام نقشی خاص در بازیابی و نمایش دادهها ایفا میکنند. در ادامه، به توضیح هر یک از این بخشها میپردازیم.
اجزای مختلف دستور SELECT
-
SELECT
این بخش از دستور مشخص میکند که کدام ستونها باید از جدول انتخاب شوند.
شما میتوانید یک یا چند ستون را انتخاب کنید یا از * برای انتخاب تمام ستونهای جدول استفاده کنید.
مثال:
SELECT first_name, last_name FROM employees;
این دستور، ستونهای first_name و last_name را از جدول employees بازیابی میکند.
مثال با *:
SELECT * FROM employees;
این دستور تمام ستونهای موجود در جدول employees را بازیابی میکند.
-
FROM
این بخش نام جدول یا جداولی را که دادهها از آنها بازیابی میشود، مشخص میکند.
در صورتی که بخواهید از چند جدول داده بازیابی کنید، میتوانید از JOIN برای ترکیب جداول استفاده کنید.
مثال:
SELECT first_name, department_name FROM employees JOIN departments ON employees.department_id = departments.department_id;
این دستور، نام و دپارتمان هر کارمند را از جداول employees و departments بازیابی میکند.
-
WHERE
این بخش برای فیلتر کردن رکوردهایی که شرط خاصی را برآورده میکنند، استفاده میشود.
فقط رکوردهایی که شرط تعریفشده در این بخش را برآورده میکنند، بازگردانده میشوند.
مثال:
SELECT first_name, salary FROM employees WHERE department_id = 10;
این دستور، نام و حقوق تمام کارمندانی را که در دپارتمان شماره ۱۰ کار میکنند، نمایش میدهد.
-
ORDER BY
این بخش برای مرتبسازی نتایج استفاده میشود.
شما میتوانید دادهها را به صورت صعودی (ASC) یا نزولی (DESC) بر اساس یک یا چند ستون مرتب کنید.
مثال:
SELECT first_name, salary FROM employees ORDER BY salary DESC;
این دستور، نام و حقوق کارمندان را به صورت نزولی بر اساس مقدار حقوق مرتب میکند.
🌟 آیا آمادهاید تا در دنیای پایگاه دادهها بدرخشید؟ 🚀
با دوره آموزش پایگاه داده اوراکل ما، مهارتهای ضروری را یاد بگیرید و به چالشهای واقعی صنعت پاسخ دهید.
این دوره با محتوای عملی و آموزشهای کاربردی به شما کمک میکند تا به یک متخصص در این حوزه تبدیل شوید و فرصتهای شغلی جدیدی را کشف کنید.
-
GROUP BY
این بخش برای گروهبندی دادهها بر اساس یک یا چند ستون استفاده میشود.
این بخش اغلب همراه با توابع تجمیعی مانندSUM
،AVG
،COUNT
و غیره استفاده میشود.
مثال:
SELECT department_id, AVG(salary) FROM employees GROUP BY department_id;
این دستور، میانگین حقوق را برای هر دپارتمان محاسبه و نمایش میدهد.
-
HAVING
این بخش برای فیلتر کردن گروهها استفاده میشود، مشابه WHERE اما برای گروهها.
این بخش معمولاً بعد ازGROUP BY
میآید.
مثال:
SELECT department_id, AVG(salary) FROM employees GROUP BY department_id HAVING AVG(salary) > 50000;
این دستور، فقط دپارتمانهایی را که میانگین حقوق آنها بیش از ۵۰,۰۰۰ است، نمایش میدهد.
توابع تجمیعی (Aggregate Functions) در دستور SELECT
توابع تجمیعی به شما امکان میدهند که عملیاتهای ریاضی و آماری را روی گروهی از دادهها انجام دهید.
برخی از این توابع عبارتند از:
-
()COUNT
شمارش تعداد رکوردها.
مثال:
SELECT COUNT(*) FROM employees;
این دستور، تعداد کل رکوردها در جدول employees را شمارش میکند.
-
()SUM
محاسبه مجموع مقادیر عددی یک ستون.
مثال:
SELECT SUM(salary) FROM employees WHERE department_id = 10;
این دستور، مجموع حقوق کارمندان در دپارتمان شماره ۱۰ را محاسبه میکند.
-
()AVG
محاسبه میانگین مقادیر عددی یک ستون.
مثال:
SELECT AVG(salary) FROM employees;
این دستور، میانگین حقوق کارمندان را محاسبه میکند.
-
()MAX و ()MIN
محاسبه بیشترین و کمترین مقدار در یک ستون.
مثال:
SELECT MAX(salary) FROM employees;
این دستور، بیشترین حقوق را در جدول employees نمایش میدهد.
استفاده از Subqueries در دستور SELECT
یک Subquery یا زیرپرسوجو، یک کوئری تو در تو است که داخل یک کوئری دیگر قرار میگیرد.
Subqueryها میتوانند در بخشهای مختلف دستور SELECT مانند WHERE
، FROM
و SELECT
استفاده شوند.
مثال:
SELECT first_name, salary FROM employees WHERE salary > (SELECT AVG(salary) FROM employees);
این دستور، نام و حقوق کارمندانی را که حقوقشان بیش از میانگین حقوق همه کارمندان است، نمایش میدهد.
ترکیب جداول با استفاده از JOIN
عملیات JOIN در SQL برای ترکیب دادهها از دو یا چند جدول بر اساس یک شرط خاص استفاده میشود. انواع مختلفی از JOIN وجود دارد، مانند INNER JOIN
، LEFT JOIN
، RIGHT JOIN
و FULL JOIN
.
-
INNER JOIN
فقط رکوردهایی را بازمیگرداند که شرط JOIN را برآورده کنند.
مثال:
SELECT employees.first_name, departments.department_name FROM employees INNER JOIN departments ON employees.department_id = departments.department_id;
این دستور، نام کارمندان و نام دپارتمانهای آنها را فقط برای کارمندانی که در یک دپارتمان مشخص شدهاند، نمایش میدهد.
-
LEFT JOIN
تمام رکوردها از جدول سمت چپ و رکوردهای مطابق از جدول سمت راست را بازمیگرداند.
مثال:
SELECT employees.first_name, departments.department_name FROM employees LEFT JOIN departments ON employees.department_id = departments.department_id;
این دستور، تمام کارمندان را نمایش میدهد حتی اگر در دپارتمانی نباشند.
استفاده از UNION برای ترکیب نتایج چند کوئری
دستور UNION در SQL برای ترکیب نتایج دو یا چند کوئری SELECT استفاده میشود.
هر کوئری باید تعداد و نوع ستونهای یکسانی داشته باشد.
مثال:
SELECT first_name FROM employees UNION SELECT first_name FROM managers;
این دستور، نام تمام افراد (هم از جدول employees و هم از جدول managers) را بدون تکرار نمایش میدهد.
استفاده از Aliases برای نامگذاری مجدد ستونها و جداول
در SQL میتوان از Aliases برای نامگذاری مجدد ستونها یا جداول در نتایج خروجی استفاده کرد.
این امر به خوانایی و وضوح بیشتر کوئریها کمک میکند.
مثال:
SELECT first_name AS "First Name", salary AS "Monthly Salary" FROM employees;
این دستور، ستون first_name را به عنوان "First Name" و ستون salary را به عنوان "Monthly Salary" در خروجی نمایش میدهد.
سوالات
-
دستور SELECT در اوراکل چه کاربردی دارد؟
برای استخراج دادهها از جداول پایگاه داده استفاده میشود. -
چگونه میتوان تمام ستونهای یک جدول را بازیابی کرد؟
با استفاده از دستورSELECT * FROM table_name
-
چگونه میتوان ستونهای خاصی را از یک جدول انتخاب کرد؟
با استفاده ازSELECT column1, column2 FROM table_name
-
چگونه میتوان رکوردها را بر اساس شرط خاصی فیلتر کرد؟
با استفاده از WHERE، مثلاً:SELECT * FROM table_name WHERE column1 = 'value'
-
چگونه میتوان دادهها را بر اساس یک ستون مرتب کرد؟
با استفاده ازORDER BY column_name
برای مرتبسازی صعودی وORDER BY column_name DESC
برای مرتبسازی نزولی.
دوره های مرتبط

اموزش پایگاه داده اوراکل Oracle
در دوره آموزش پایگاه داده اوراکل اصول ، مفاهیم ، طراحی ، پیادهسازی و مدیریت پایگاه داده را به صورت جامع آموزش می دهیم .