بررسی 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 قرار گرفته شده است.