درس ششم – تعریف پرس‌وجو یا Query در SQL

یکی از اصلی‌ترین موضوعاتی که در SQL باید بررسی شود بحث پرس‌وجو و یا همان Query است، هر پرس‌وجو می‌تواند شامل چندین دستور باشد که در زیر آنها را بررسی می‌کنیم.

۳-۱-۵-۱ بررسی دستور SELECT

برای اینکه در SQL اطلاعات را از جدول­های بازیابی به قولی فِچ کنیم از دستور SELECT استفاده می‌کنیم، در زیر نمونه‌ای از این دستور را مشاهده می‎کنید:

SELECT column1, column2, ...
FROM table_name;

در دستور بالا، دستور SELECT را با حروف بزرگ می‌نویسیم و بعد از آن باید ستون (column1, column2) مربوط به جدولی را که می‌خواهید داده‌ها را از آن استخراج کنید می‎نویسید، در سطر دوم با دستور FROM، اسم جدول را به‌جای table_name می‌نویسید.

برای اینکه این دستورات را در سرور SQL تست بگیریم باید به‌مانند شکل ۱۶-۳ وارد Management شوید و بر روی دیتابیس مورد نظر خود کلیک راست کنید و گزینه‌ی New Query را انتخاب کنید.

برای شروع کار به جدول ۵-۳ توجه کنید، می‌خواهیم با استفاده از این جدول عملیات مختلف خود را انجام دهیم و داده‌ها را فراخوانی کنیم.

جدول ۵-۳ Customers

CustomerID

CustomerName

ContactName

Address

City

PostalCode

Country

۱

Maria

Maria Anders

Obere Str. 57

Berlin

۱۲۲۰۹

Germany

۲

Ana

Ana Trujillo

Avda. de la Constitución 2222

México

۰۵۰۲۱

Mexico

۳

Antonio

Antonio Moreno

Mataderos 2312

México

۰۵۰۲۳

Mexico

۴

Thomas

Thomas Hardy

۱۲۰ Hanover Sq.

London

WA1 1DP

UK

۵

Christina

Christina

Berguvsvägen 8

Luleå

S-958 22

Sweden

برای ایجاد این جدول از طریق SSMS یک جدول ایجاد کنید و آن را با اسم Customers ذخیره کنید و بعد از ایجاد، اطلاعات جدول ۵-۳ را درون آن وارد کنید تا در ادامه بتوانید از آنها استفاده کنید، این موضوع را در شکل ۱۷-۳ و ۱۸-۳ مشاهده می‌کنید.

شکل ۱۷-۳ ویرایش جدول Customers

شکل ۱۸-۳ ورود اطلاعات در جدول Customers

مثال اول – انتخاب ستون

SELECT [Customer Name] , City FROM Customers

در دستور بالا، ستون Customer Name و City از جدول Customers انتخاب شده است، توجه داشته باشید علامت [] را بهتر است زمانی قرار دهید که یک جمله­ی دو حرفی یا بیشتر دارید، مثلاً در مثال بالا اگر city بود، نیاز به علامت [] نبود، اما چون Customer Name از دو قسمت با فاصله تعریف شده است باید حتماً علامت [] را قرار دهید.

به‌مانند شکل ۱۹-۳ دستور مورد نظر را بنویسید و برای دریافت خروجی باید کلید F5 را فشار دهید، این دستور دو ستون Customer Name و City را در خروجی نمایش می‌دهد.

شکل ۱۹-۳ خروجی دستور SELECT

مثال دوم – نمایش تمام اطلاعات جدول

برای اینکه بتوانید همه‌ی اطلاعات جدول مورد نظر خود را مشاهده کنید باید از دستور زیر استفاده کنید:

SELECT * FROM Customers

همان‌طور که در شکل ۲۰-۳ مشاهده می‌کنید، تمام اطلاعات جدول در خروجی نمایش‌داده شده است.

شکل ۲۰-۳ نمایش جدول Customers

اگر بخواهیم در یک جدول، تنها اطلاعات متمایز شده و نه تکراری را نمایش دهیم باید از دستور زیر استفاده کنیم:

SELECT DISTINCT column1, column2, ... 
FROM table_name;

در دستور بالا به‌مانند قبل باید نام ستون‌ها را جلوی دستور SELECT بنویسید، اما تنها باید بعد از دستور SELECT از DISTINCT استفاده کنید تا اطلاعات شبیه به هم را تنها یک‌بار در خروجی نمایش دهد.

مثال سوم – نمایش اطلاعات شهر‌های مشابه

دستورات زیر را اجرا کنید:

SELECT Country FROM Customers;

SELECT DISTINCT Country FROM Customers;

خروجی دستورات بالا را در شکل ۲۱-۳ مشاهده می‌کنید، دستور اول تمام شهر‌ها را به شما نمایش داده است، اما در دستور دوم تنها یکی از شهر‌های Mexico را نمایش داده است و این مورد می‌‎تواند در نمایش بهتر اطلاعات کمک‌ کند.

شکل ۲۱-۳ نمایش جدول

۳-۱-۵-۲ بررسی دستور Insert          

این دستور برای واردکردن اطلاعات در جدول کاربرد دارد و می‌توانید با استفاده از این دستور، اطلاعات خود را وارد جدول کنید.

INSERT INTO table_name (column1, column2, column3, ...) 
VALUES (value1, value2, value3, ...) ;

در دستور بالا، ابتدا باید INSERT INTO را بنویسیم و بعد از آن، نام جدول را به‌جای table_name بنویسیم، سپس باید در پرانتز مورد نظر نام ستون‌هایی که قرار است اطلاعات در آن وارد بشود را بنویسیم.

روش دیگری هم برای ورود اطلاعات به‌صورت زیر وجود دارد:

INSERT INTO table_name
VALUES (value1, value2, value3, ...) ;

در دستور بالا، ورود اطلاعات به ترتیب ستون‌های موجود انجام می‌شود.

مثال اول – ورود اطلاعات با استفاده از نام ستون

INSERT INTO Customers (CustomerID,"Customer Name", "Contact Name", Address, City, PostalCode, Country)
VALUES ('۶','Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway') ;
SELECT * FROM Customers;

در دستور بالا، ابتدا نام ستون‌ها ذکر شده است و بعد از آن، اطلاعاتی که قرار است وارد جدول شود را در قسمت VALUES وارد می‌‎کنیم.

به این نکته توجه کنید که ستون‎هایی که دوقسمتی هستند، حتماً باید بین دو تا علامت ” ” قرار بگیرند تا در خروجی با خطا مواجه نشوید.

در آخر، دستور SELECT * FROM Customers; را برای نمایش اطلاعات جدول وارد کردیم که در شکل ۳-۲۲ خروجی نهایی را مشاهده می‌کنید که یک سطر جدید به جدول اضافه شده است.

شکل ۲۲-۳ ورود اطلاعات در جدول

مثال دوم – ورود اطلاعات به ترتیب ستون

دستور زیر را اجرا کنید:

INSERT INTO Customers
VALUES ('۷','Farshid', 'Babajani', 'Seied Khandan', 'Tehran', '8843', 'Iran') ;
SELECT * FROM Customers;

در دستور بالا، اطلاعات ورودی به ترتیب ستون‌های جدول قرار می‌گیرند و باید در ورود اطلاعات دقت کنید، اگر به شکل ۲۳-۳ توجه کنید خروجی مشخص شده است.

شکل ۲۳-۳ ورود اطلاعات

 ۳-۱-۵-۳ بررسی دستور Update

با استفاده از این دستور می‌توانید اطلاعات موجود در هر ستون را تغییر دهید؛ برای این کار باید از دستور زیر استفاده کنید:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

در دستور بالا، ابتدا باید نام جدول را بعد از دستور UPDATE وارد کنید. در قسمت SET باید مشخص کنید که چه گزینه‌هایی باید تغییر کند و در آخر نیز باید از دستور شرطی WHERE استفاده کنید تا مشخص شود که به کدام سطر اشاره می‌کنید.

مثال اول – آپدیت کردن اطلاعات جدول

UPDATE Customers
SET "Contact Name" = 'Alfred Schmidt', City= 'Frankfurt'
WHERE CustomerID = 1;
SELECT * FROM Customers
WHERE CustomerID=1;

در دستور بالا، جدول Customers انتخاب می‌شود و در قسمت SET ستون‌ها به همراه مقدار آن مشخص می‌شود و در قسمت شرطی WHERE باید شرط مورد نظر را وارد کنید که در اینجا از شماره­ی CustomerID استفاده کرده است؛ توجه داشته باشید دو خط آخر برای نمایش سطر اول جدول به کار برده شده است.

اگر به شکل ۲۴-۳ توجه کنید، سطر مورد نظر آپدیت شده است و در خروجی به نمایش گذاشته شده است.

شکل ۲۴-۳ آپدیت اطلاعات

اگر دو خط آخر دستور بالا را وارد نکنید، خروجی مانند شکل ۲۵-۳ خواهد شد.

شکل ۲۵-۳ آپدیت اطلاعات

کارهای زیادی می‌توان با دستور UPDATE انجام داد، مثلاً می‌توانید با دستور زیر نام ContactName مربوط به شهر‌های Mexico را با استفاده از شرط تغییر دهید:

UPDATE Customers
SET "Contact Name"='Juan'
WHERE Country='Mexico';

نکته­ی مهم: اگر چنانچه شرط WHERE را در دستور UPDATE قرار ندهید، تمام ستون‌های انتخاب­شده آپدیت خواهد شد؛ در دستور زیر تمام ContactName ها به Juan تغییر خواهند کرد.

UPDATE Customers
SET ContactName='Juan';
۳-۱-۵-۴ بررسی دستور DELETE

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

DELETE FROM table_name WHERE condition;

در دستور بالا به‌جای table_name باید نام جدول و به‌جای condition، شرط مورد نظر خود را وارد کنید.

مثال اول – حذف اطلاعات جدول

DELETE FROM Customers WHERE "Customer Name"='Farshid';

SELECT * FROM Customers

در دستور بالا، جدول Customers انتخاب شده است و در شرط آن اعلام شده است که CustomersName مشخص­شده باید حذف شود که در شکل ۲۶-۳ قبل از اینکه دستور مورد نظر را اجرا کنید، نام Farshid را در قسمت ۷ مشاهده می‌کنید، اما بعد از اجرای دستور در شکل ۲۷-۳ سطر مورد نظر حذف شد.

شکل ۲۶-۳ حذف اطلاعات

شکل ۲۷-۳ حذف اطلاعات

برای حذف اطلاعات کامل جدول باید از دستور زیر استفاده کنید:

DELETE FROM table_name;

در دستور بالا باید به‌جای table_name، نام جدول خود را وارد کنید.

کتاب‌های جدید

کتاب آموزشی CCNP ENARSI 300-410
زبان فارسی
۱۲۲۲ صفحه
نسخه PDF

کتاب آموزشی CCNA 200-301
زبان فارسی
۷۱۵ صفحه
نسخه PDF

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Scroll to Top