درس نهم – دستورات SQL – قسمت دوم

بررسی Wildcards

این دستور در کنار دستور LIKE استفاده می‌شود و برای جستجو و جایگزینی در یک رسته کاربرد دارند، در زیر کاراکترهایی که می­توان به‌عنوانWildcard  در دستورات استفاده کرد.

جدول ۸-۳ بررسی Wildcard

Symbol

توضیحات

مثال

%

صفر یا اکثر نویسه‌ها را نشان می‌دهد.

bl% کلماتی مانندbl, black, blue,  و blobرا پیدا می‌کند.

_

نماینده‌ی یک شخصیت واحد است

 

دستور h_t کلماتی مانندhot, hat,  و hitرا پیدا می‌کند.

[]

هر کاراکتر را در داخل براکت نشان می‌دهد.

دستور h[oa]t کلماتhot  و hat را نشان می‌دهد، اما کلمه‌ی hit را نمایش نمی‌دهد.

^

هر کاراکتری که در پرانتز نیست را نشان می‌دهد.

 

دستور h[^oa]t هر کلمه‌ای که در کروشه نباشد را نشان می‌دهد، مانند hit .

طیف وسیعی از نویسه‌ها را نشان می‎دهد.

 

دستور c[a-b]t کلمات cat وcbt  را پیدا می‌کند.

مثال اول

SELECT * FROM Customers
WHERE City LIKE 'fr%';

در دستور بالا، شهر‌هایی که با نام fr شروع می‌شوند در خروجی چاپ خواهند شد که در شکل ۵۱-۳ مشاهده می‌کنید.

شکل ۵۱-۳ بررسی Wildcards

مثال دوم

SELECT * FROM Customers
WHERE City LIKE '%hr%';

دستور بالا، شهر‌هایی که بین کلماتشان hr دارند در خروجی چاپ خواهد شد که در شکل ۵۲-۳ این موضوع را مشاهده می‎کنید:

شکل ۵۲-۳ بررسی دستور Wildcards

مثال سوم

SELECT * FROM Customers
WHERE City LIKE '[bspt]%';

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

شکل ۵۳-۳ بررسی دستور Wildcards

مثال چهارم

SELECT * FROM Customers
WHERE City LIKE '[a-f]%';

در دستور بالا، شهر‎هایی که با حروف a تا f شروع می‌شوند در خروجی چاپ خواهد شد که در شکل ۵۴-۳ مشخص شده است.

شکل ۵۴-۳ بررسی دستور Wildcards

۳-۱-۵-۱۴ بررسی دستور Aliass

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

SELECT column_name AS alias_name
FROM table_name;

در دستور بالا، alias_name یک نام مستعار برای جدول مورد نظر است خواهد بود.

مثال اول

SELECT CustomerID AS ID, "Customer Name" AS Customer
FROM Customers;

در دستور بالا، دو ستون CustomerID و Customer Name با دو نام جدید در خروجی چاپ خواهند شد که در شکل ۵۵-۳ این موضوع را مشاهده می‌کنید.

شکل ۵۵-۳ بررسی دستور Aliass

مثال دوم

SELECT "Customer Name" AS Customer, "Contact Name" AS "Contact Person"
FROM Customers;

این دستور نیز به‌مانند دستور قبلی است و نکته‌ای که در این دستور وجود دارد، این است که برای ایجاد یک ستون دو حرفی باید کلمه‌ی مورد نظر را در یک کروشه قرار دهید؛ این موضوع را در شکل ۵۶-۳ مشاهده می‌کنید.

شکل ۵۶-۳ بررسی دستور Aliass

مثال سوم

SELECT “Customer Name”, Address + ‘, ‘ + PostalCode + ‘ ‘ + City + ‘, ‘ + Country AS Address

FROM Customers;

در دستور بالا، دو ستون در خروجی چاپ خواهد شد که در ستون Address، چند گزینه چاپ خواهد شد که شامل Address, PostalCode, City و کشور خواهد بود که در شکل ۵۷-۳ این موضوع را مشاهده می‌کنید.

شکل ۵۷-۳ بررسی دستور Aliass

۳-۱-۵-۱۵ بررسی دستور GROUP BY

دستور GROUP BY برای جمع‌بندی مقادیر یکسان کاربرد دارد و آنها را توسط تابع‌هایCOUNT(), MAX(), MIN(), SUM(), AVG() در خروجی چاپ خواهد کرد، شکل کلی این دستور به‌صورت زیر خواهد بود:

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);

مثال اول

SELECT * FROM Customers
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;

در دستور بالا، در خط اول یک خروجی کلی از اطلاعات جدول Customers را خواهیم داشت و در ادامه با استفاده از دستور COUNT، تعداد مشتریان هر کشور شمارش می­شود و در آخر با دستورGROUP BY، تعداد مشتریان به همراه کشور‌های آنها چاپ شده است؛ در شکل ۵۸-۳ این موضوع را مشاهده می‎کنید.

شکل ۵۸-۳ بررسی دستور GROUP  BY

مثال دوم

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;

در دستور بالا به‌مانند دستورات قبلی مشتریان مورد نظر چاپ خواهد شد، اما در آخر خط با دستور ORDER BY به همراه دستور DESC از بیشتر به کمتر مشتریان مرتب خواهند شد که در شکل ۵۹-۳ این موضوع را مشاهده می‌کنید.

شکل ۵۹-۳ بررسی دستور GROUP  BY

۳-۱-۵-۱۶ بررسی دستور HAVING

این دستور، یک دستور کمکی است که می‌تواند در دستورات اضافه شود؛ شکل کل این دستور به‌صورت زیر است:

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);

مثال اول

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 0
ORDER BY COUNT(CustomerID) DESC;

در مثال بالا، عدد صفری که مقابل دستور HAVING  قرار داده شده به این معنی است که تعداد مشتریان هر کشور اگر بیشتر از صفر بود، در خروجی چاپ کند. شما می‌توانید این عدد را تغییر دهید و یا اینکه عملگر آن را عوض کنید، در شکل ۶۰-۳ این مثال را مشاهده می‌کنید.

شکل ۶۰-۳ بررسی دستور HAVING

بررسی PRIMARY KEY

زمانی که یک جدول ایجاد می‌کنید، می‌توانید مشخص کنید که کدام ستون به‌عنوان PRIMARY KEY انتخاب شود؛ انتخاب یک ستون به‌عنوان PRIMARY KEY باعث می‌شود که مقدار آن دیگر، Null یا خالی نباشد و حتماً باید آن را پر کنید؛ برای این کار به‌مانند شکل ۶۱-۳ بر روی جدول مورد نظر کلیک راست کنید و گزینه‌ی Design را انتخاب کنید.

شکل ۶۱-۳ طراحی

به‌مانند شکل ۶۲-۳ بر روی ستونی که می‌خواهید به‌عنوان Primary Key انتخاب شود، کلیک راست کنید و گزینه‌ی Set Primary Key را انتخاب کنید.

شکل ۶۲-۳ بررسی PRIMARY KEY

در بعد از انتخاب Primary Key در شکل ۶۳-۳ یک کلید در کنار ستون مورد نظر قرار خواهد گرفت و در قسمت Allow Nulls، تیک آن برداشته خواهد شد؛ به‌ دلیل اینکه این ستون اصلاً نباید خالی باشد، مانند شماره‌ی دانشجویی در دانشگاه‌ها.

شکل ۶۳-۳ بررسی PRIMARY KEY

برای اینکه بتوانیم از طریق دستورات T-SQL یک جدول ایجاد کنیم که دارای Primary Key باشد باید دستورات زیر را اجرا کنیم:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (ID)
) ;

در دستورات بالا، یک جدول جدید با نام Persons ایجاد کردیم که ستون‌های ID و LastName نباید خالی باشد و در قسمت آخر PRIMARY KEY را نیز برابر ID قرار دادیم، اگر به شکل ۶۴-۳ توجه کنید نتیجه­ی دستور را مشاهده خواهید کرد.

شکل ۶۴-۳ بررسی PRIMARY KEY

اگر بخواهیم دستور بالا را تغییر دهیم، می‌توانیم از دستور زیر استفاده کنیم:

CREATE TABLE Persons (
    ID int NOT NULL PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
) ;

در دستور بالا، Primary Key در کنار ID قرار گرفته شده است.

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

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

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

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

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

Scroll to Top