בחירת כל עמודות
נניח יש לנו טבלה HumanResources.Department בבסיס נתונים AdventureWorks2019
ואנחנו רוצים להציג את כל עמודות הקיימות בטבלה ורק 200 שורות הראשונות.
SELECT TOP (200) * FROM HumanResources.Department
תוצאה:
בחירת רק לפי עמודות ספציפיות
נניח אנחנו רוצים להציג שורות אשר בטבלה רק לפי העמודות DepartmentID ו-GroupName.
SELECT DepartmentID, GroupName FROM HumanResources.Department
תוצאה:
בחירת רק שורות שונות זו מזו
ניתן לראות בצילום מסך שיש לנו כמה שורות זהות – יש להם אותו ערך בעמודה GroupName:
ניתן לבחור שורות שונות זו מזו תוך שימוש במילת מפתח – DISTINCT
SELECT DISTINCT GroupName FROM HumanResources.Department;
חישוב מספר שורות
COUNT – חישוב מספר שורות שונות זו מזו
בנוסף אנחנו רוצים להציג את המספר שורות בעמודה בשם TOTAL
SELECT COUNT(DISTINCT GroupName) AS TOTAL FROM HumanResources.Department
נקבל
בחירת שורות ספציפיות מהטבלה
לפני הכל, אני מזכיר מה יש לנו בטלה HumanResources.Department
SELECT * FROM HumanResources.Department
תוצאה:
נניח אנחנו רוצים לבחור מתוך הטבלה רק את השורה, אשר ערך העמודה של DepartmentID יהיה 13 וערך עמודה של GroupName יהיה Quality Assurance.
SELECT DepartmentID, GroupName FROM HumanResources.Department WHERE DepartmentID='13' AND GroupName ='Quality Assurance';
נקבל:
OR
בחירת רק GroupName שווה ל- Quality Assurance או ל- Sales and Marketing
SELECT DepartmentID, GroupName FROM HumanResources.Department WHERE GroupName ='Sales and Marketing' OR GroupName ='Quality Assurance';
NOT
בחירת כל שורות חוץ משורות שבהן עמודה GroupName שווה ל- Quality Assurance
SELECT * FROM HumanResources.Department WHERE NOT GroupName ='Quality Assurance';
SORT
נניח אנחנו רוצים קודם כל לעשות מיון לפי GroupName בסדר עולה – ASC.
לאחר זה צרכים לעשות מיון משני לפי Name בסדר יורד – DESC.
SELECT * FROM HumanResources.Department ORDER BY GroupName DESC, Name ASC;
UPDATE
עדכון מידע בשורה אחת מסוימת.
לדוגמה אנחנו רוצים לשנות בשורה שבה GroupName שווה ל- Quality Assurance
לערך חדש GroupName שווה ל- Quality Assurance NEW
UPDATE HumanResources.Department SET GroupName = 'Quality Assurance NEW' WHERE GroupName = 'Quality Assurance';
נקבל:
SELECT * FROM HumanResources.Department
מחיקה שורה מטבלה
לצורך דוגמה בואו ניצור טבלה Cities עם המודות PersonID , FirstName, City
CREATE TABLE Persons ( PersonID int, FirstName varchar(255), City varchar(255) );
ונוסיף נתונים
INSERT INTO Persons ( PersonID, FirstName, City ) VALUES ('1','Shalom','Tel Aviv'), ('2','Wulf','Netanya'), ('3','Moshe','Jerusalem');
ואז נקבל:
נניח אנחנו רוצים למחוק שורה 2 בטבלה איפה ש City=Netanya
DELETE FROM dbo.Persons WHERE City='Netanya';
ואז קבלנו טבלה ללא שורה איפה ש City=Netanya
TOP
בחירה רק שלושה שורות הראשונות בטבלה
SELECT TOP 3 * FROM Customers;
PERCENT
בחירה רק של 50% ממספר שורות מטבלת הלקוחות
SELECT TOP 50 PERCENT * FROM Customers;
MAX
לצורך דוגמה בואו ניצור טבלה ShopProducts עם המודות ProductID , ProductName, UnitPrice
CREATE TABLE ShopProducts ( ProductID int, ProductName varchar(255), UnitPrice DECIMAL(13, 2) NOT NULL);
ונוסיף נתונים
INSERT INTO ShopProducts ( ProductID, ProductName, UnitPrice) VALUES ('1','Ice Cream','3'), ('2','Coffee','4.26'), ('3','Yogurt','2');
ואז נקבל:
נמצא מחיר מקסימלי לפי עמודה UnitPrice וניתן שם לתוצאה LargestPrice
SELECT MAX(UnitPrice) AS LargestPrice FROM ShopProducts;
כנ"ל ניתן למצוא ממוצע של כל שורות לפי עמודה:
SELECT AVG(UnitPrice) AS Average FROM ShopProducts;
כנ"ל ניתן למצוא סכום של כל שורות לפי עמדה:
SELECT SUM(UnitPrice) AS TotalPrice FROM ShopProducts;