آموزش SQL در Microsoft Access: دستور SELECT و اجزاء مختلف آن

در این آموزش، با دستور SELECT در SQL و اجزاء مختلف آن آشنا می‌شویم. دستور SELECT یکی از مهم‌ترین و پرکاربردترین دستورات SQL است که برای بازیابی داده‌ها از جداول استفاده می‌شود.

مقدمه

در آموزش‌های قبلی با نحوه ایجاد جداول و ایندکس‌ها در اکسس آشنا شدیم. جداول در اکسس و یا هر یک از انواع پایگاه داده‌ها نقش مخزن داده‌ها را بازی می‌نماید. دستور SELECT در SQL برای استخراج داده‌ها از جداول کاربرد دارد.

آیا می‌دانید:

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

نحوه نگارش (Syntax) دستور SELECT

دستور SELECT در SQL برای بازیابی داده‌ها از یک یا چند جدول استفاده می‌شود. ساختار کلی این دستور به شکل زیر است:

SELECT 
    column1, 
    column2, 
    ...
FROM 
    table_name
WHERE 
    condition
ORDER BY 
    column1 [ASC|DESC], 
    column2 [ASC|DESC], 
    ...;
  • SELECT column1, column2, …: ستون‌هایی را که می‌خواهید بازیابی کنید مشخص می‌کند. برای انتخاب همه ستون‌ها از * استفاده کنید.
  • FROM table_name: جدولی که داده‌ها باید از آن بازیابی شوند را مشخص می‌کند.
  • WHERE condition: (اختیاری) شرط‌هایی را برای فیلتر کردن رکوردها مشخص می‌کند.
  • ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], …: (اختیاری) نتایج را بر اساس یک یا چند ستون مرتب می‌کند. به‌طور پیش‌فرض، مرتب‌سازی به صورت صعودی (ASC) است، اما می‌توانید از نزولی (DESC) نیز استفاده کنید.

بخش‌های مختلف دستور SELECT در SQL

جزء SELECT

جزء SELECT مشخص می‌کند که کدام ستون‌ها باید بازیابی شوند. برای انتخاب همه ستون‌ها از یک جدول می‌توانید از * استفاده کنید:

SELECT * FROM Students;

برای انتخاب ستون‌های خاص:

SELECT FirstName, LastName FROM Students;

در کد بالا فقط ستون‌های FirstName و LastName در نتایج نمایش داده خواهند شد.

جزء FROM

جزء FROM مشخص می‌کند که داده‌ها از کدام جدول باید بازیابی شوند:

SELECT FirstName, LastName FROM Students;

جزء WHERE

جزء WHERE برای فیلتر کردن رکوردها بر اساس شرایط خاص استفاده می‌شود. در کد زیر نتایج فقط برای ردیف‌هایی که تاریخ تولد آن‌ها بعد از تاریخ ‍‍‍‍2000-01-01 باشد نمایش داده خواهند شد.

SELECT FirstName, LastName FROM Students
WHERE BirthDate > #2000-01-01#;

در آموزش‌های بعدی جزء WHERE را با جزئیات و مثال‌های بیشتری بررسی خواهیم کرد.

4. جزء ORDER BY

جزء ORDER BY برای مرتب‌سازی نتایج بر اساس یک یا چند ستون استفاده می‌شود. در دستور زیر نتایج بر اساس مقدار ستون LastName بصورت صعودی (الف تا ی) مرتب خواهد شد.

SELECT FirstName, LastName FROM Students
ORDER BY LastName ASC;

یا برای مرتب‌سازی نزولی در دستور زیر نتایج بر اساس مقدار ستون LastName بصورت صعودی (ی تا الف) مرتب خواهد شد:

SELECT FirstName, LastName FROM Students
ORDER BY LastName DESC;

5. ترکیب اجزاء مختلف

برای درک بهتر، یک مثال جامع از دستور SELECT با تمامی اجزاء آن را مشاهده می‌کنید:

SELECT FirstName, LastName, BirthDate
FROM Students
WHERE BirthDate > #2000-01-01#
ORDER BY LastName ASC, FirstName DESC;

در این مثال:

  • ستون‌های FirstName، LastName و BirthDate از جدول Students بازیابی می‌شوند.
  • فقط رکوردهایی که BirthDate آن‌ها بعد از '2000-01-01' است، بازیابی می‌شوند.
  • نتایج ابتدا بر اساس LastName به صورت صعودی (ASC) و سپس بر اساس FirstName به صورت نزولی (DESC) مرتب می‌شوند.

اجرای دستور SELECT در SQL از طریق Design View

در تمام مثال‌های بالا باید کوئری را از طریق ویرایشگر SQL View نوشته و سپس اجرا نمایید. اکسس برای راحتی کاربران Design View را فراهم کرده است. در Design View می‌توانید از طریق یک محیط گرافیکی و Drag & Drop پرس‌و‌جو‌های موردنیاز را بدون تایپ دستورات SQL ایجاد نمایید.

همچنین می‌توانید پس از ایجاد یک پرس‌و‌جو‌ دستور SQL آن را نیز ایجاد و برای کد VBA خود استفاده نمایید.

مراحل ایجاد پرس‌و‌جو‌ یا کوئری از طریق Design View

  • از منوی Create گزینه Query Design را انتخاب نمایید.
  • در پنجره دیالوگ Show Table جدول موردنظرتان را انتخاب و روی آن دوبار کلید نمایید تا جدول به محیط Design اضافه شود. در صورتی که این پنجره را بسته‌اید از منوی Query Design روی کلید Add Tables کلیک نمایید.
  • پنجره دیالوگ را ببندید.
  • اگر روی هر کدام از ستون‌های جدول انتخابی دوبار کلیک نمایید در بخش فیلدها اضافه خواهد شد. اگر روی * دوبار کلیک نمایید همه ستون‌های جدول انتخاب خواهند شد و نیازی به اضافه کردن مجزای هر ستون نخواهد بود.
  • در قسمت فیلدها برای هر فیلد چند ردیف بنام‌های Field، Table، Sort، Show، Criteria و Or وجود دارد.

برای درک بهتر نحوه کار Design View، پرس‌و‌جوی زیر را از طریق این قابلیت اکسس مرحله به مرحله ایجاد می‌نماییم.

SELECT FirstName, LastName, BirthDate
FROM Students
WHERE BirthDate > #2000-01-01#
ORDER BY LastName ASC, FirstName DESC;

انتخاب جدول:

روی کلید Add Tables کلیک نمایید و جدول Students را انتخاب نمایید و روی آن دوبار کلیک نمایید تا به محیط Design اضافه شود. پنجره دیالوگ Show Table را ببندید.

انتخاب ستون‌ها:

روی ستون‌های FirstName و LastName و BirthDate به ترتیب دوبار کلیک نمایید تا به بخش پایین محیط Design اضافه شوند.

فیلتر کردن نتایج:

گفتیم که در SQL برای فیلتر نتایج از جزء WHERE استفاده می‌نماییم. در محیط Design View برای فیلتر نتایج بر اساس هر ستون از ردیف Criteria برای هر ستون استفاده می‌کنیم. ستون BirthDate را قبلا انتخاب کرده‌ایم. در ردیف Criteria این فیلد عبارت > #2000-01-01# را وارد نمایید.

مرتب‌سازی داده‌ها:

در کد SQL بالا از دو ستون LastName و FirstName برای مرتب سازی داده‌ها استفاده کردیم. در محیط Design View برای مرتب سازی داده‌ها بر اساس این دو ستون در ردیف Sort مربوط به فیلد LastName گزینه Ascending و برای فیلد FirstName گزینه Descending را انتخاب نمایید.

نمایش نتایج:

برای نمایش نتایج روی گزینه Run از برگه Query Design کلیک نمایید.

نمایش SQL

اکسس بطور خودکار SQL مربوط به کوئری را ایجاد می‌نماید. برای مشاهده SQL پرس‌وجو کافیست روی گزینه View از برگه Query Design کلیک نمایید و SQL View را انتخاب نمایید. همانطور که در زیر مشخص است اکسس بطور خودکار دستور SQL مربوط به این کوئری را ایجاد نموده است. می‌توانید این دستور را با دستور SQL اولیه مقایسه نمایید.

SELECT Students.FirstName, Students.LastName, Students.BirthDate
FROM Students
WHERE (((Students.BirthDate)>#2000-01-01#))
ORDER BY Students.FirstName DESC , Students.LastName;

ذخیره Query

اگر کلید ذخیره و یا کلیدهای ترکیبی Ctrl + s را فشار دهید می‌توانید پرس‌وجو را ذخیره نمایید. برای اینکار کافیست یک نام برای کوئری انتخاب نمایید تا اکسس آن را ذخیره نماید. من در دیتابیس نمونه iranvba این پرس‌وجو را با نام qry_simpleSelect ذخیره کردم.

دانلود دیتابیس نمونه

پایگاه داده مربوط به این آموزش را می‌توانید از لینک زیر دانلود نمایید.

دانلود

نتیجه‌گیری

در این آموزش، با دستور SELECT و اجزاء مختلف آن آشنا شدیم. این دستور به شما کمک می‌کند تا داده‌های مورد نیاز خود را به راحتی از جداول بازیابی و مدیریت کنید. در آموزش‌های بعدی با امکانات پیشرفته‌تر این دستور و اکسس آشنا خواهیم شد. اگر سوالی دارید یا به کمک بیشتری نیاز دارید، لطفاً در بخش نظرات مطرح کنید!

دیدگاهتان را بنویسید