دستور Select در پایگاه داده اوراکل

زهیر صفری 1403/06/15 0 37
لینک کوتاه https://zoheirsoftware.com/z/b2fae44 |
دستور Select در پایگاه داده اوراکل,اجزای مختلف دستور SELECT,استفاده از Subqueries در دستور SELECT

تعریف دستور SELECT در پایگاه داده اوراکل

دستور SELECT در پایگاه داده اوراکل (Oracle Database) یکی از پرکاربردترین و بنیادی‌ترین دستورات SQL است که برای بازیابی داده‌ها از جداول پایگاه داده استفاده می‌شود.

این دستور به شما امکان می‌دهد تا داده‌های موجود در یک یا چند جدول را بر اساس نیاز خود فیلتر، مرتب، گروه‌بندی و تحلیل کنید.

دستور SELECT در پایگاه داده اوراکل ابزاری قدرتمند و انعطاف‌پذیر برای بازیابی و تحلیل داده‌هاست.

با درک صحیح از ساختار این دستور و استفاده بهینه از اجزای آن مانند WHERE، ORDER BY، GROUP BY و JOIN، می‌توان به نتایج دقیقی دست یافت.

تسلط بر این دستور برای هر توسعه‌دهنده و مدیر پایگاه داده ضروری است، چرا که این دستور پایه‌ای برای بسیاری از عملیات‌ها در SQL محسوب می‌شود.

در این مقاله، به بررسی دقیق‌تر ساختار دستوری SELECT و نحوه استفاده از آن در SQL Queries می‌پردازیم.

 

تعریف دستور SELECT در پایگاه داده اوراکل

 

 

ساختار کلی دستور 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;


این دستور، فقط دپارتمان‌هایی را که میانگین حقوق آن‌ها بیش از ۵۰,۰۰۰ است، نمایش می‌دهد.

 

اجزای مختلف دستور SELECT

توابع تجمیعی (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;


این دستور، تمام کارمندان را نمایش می‌دهد حتی اگر در دپارتمانی نباشند.

 

ترکیب جداول با استفاده از JOIN

 

استفاده از 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 ,پایگاه داده اوراکل

اموزش پایگاه داده اوراکل Oracle

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

700,000 تومان

2.1k بازدید
مشاهده

ارسال دیدگاه

برای ارسال نظر لطفا ورود یا ثبت نام کنید.