אנחנו רוצים לסנן את התוצאות שמגיעות ולקבל רק את מה שרלוונטי.
Select
ProductName
From Products
Where UnitsInStock <= 10
השוואה בין שדות
SELECT *
FROM Orders
WHERE ShippedDate < RequiredDDate
Between
Select
ProductName
From Products
Where UnitsInStock Between 10 and 20
Select
ProductName
From Products
Where UnitsInStock Not Between 10 and 20
in
Select * From Employees
Where City in ('London', 'Tacom', 'Seattle')
like
עובד רק על סטרינגים.
בדוגמא כל השמות מתחילים ב-A.
Select *
From Employees
Where FirstName LIKE 'A%'
כל העובדים שהמיקוד שלהם לא מכיל 9
Select *
From Employees
where postalcode NOT LIKE '%9%'
כל שמות המוצרים שיש להם a אות אחת לפני הסוף.
הסוגרים המרובעים אומרים שאחת מהאפשרויות של מה שיש שם תהיה.
select
ProductName, CategoryID
from Products
where ProductName like '%a[abcdefghijklmnopqrstuvwxyz]'
NULL
רשומות ללא ערך
SELECT
CustomerID, CompanyName, Region
FROM Customers WHERE Region IS NULL
SELECT
CustomerID, CompanyName, Region
FROM Customers WHERE Region IS NOT NULL
תאריכים
select
OrderID, OrderDate, RequiredDate
from Orders
where RequiredDate > '1996-10-31'
שימוש באופרטורים
select
ProductName
from products where UnitsInStock<20 and UnitPrice>30
מיון
ברירת המחדל היא בסדר עולה. מנמוך לגבוה.
select
CategoryName
from Categories order by CategoryName
סדר יורד.
select
CategoryName
from Categories
order by CategoryName desc
select
ProductName, UnitPrice
from Products
where UnitPrice between 21.35 and 43.9
order by UnitPrice desc
סידור לפי שדה n בשדות שבחרתי ב-select.
Select
ProductName, UnitPrice
From Products Order By 2
סינון אחרי סינון. יסנן על פי שדה 2 ואחז לפי שדה 1.
Select
ProductName, UnitPrice
From Products Order By 2,1
בחירת n תוצאות
select top 10 * from products
תרגול where – שאלות
את שמו הפרטי ושם המשפחה של עובד מספר 3 Employees 1. הצג מטבלת
את שם המוצר ומחירו של מוצר מספר 4 Products 2. הצג מטבלת את מספר המוצר, שם המוצר ומחירו עבור המוצרים אשר מחירם גבוה מ Products 3. הצג מטבלת 20 . סדר את התוצאות ע"פ מחיר )סדר עולה( את השם המלא בעמודה אחת, תאריך הלידה, ומספר העובד אליו Employees 4. יש להציג מטבלת . עבור עובד שמספרו 8 )ReportsTo( הוא מדווח את קוד העובד, שמו המלא, ותאריך לידה עבור העובדים אשר גרים בעיר Employees 5. הצג מטבלת יש לתת כינויים מתאים לעמודות. .LONDON . את כל הפרטים עבור מוצרים אשר מחירם אינו בין 50 ל- 100 Products 6. הצג מטבלת את שם המוצר ומחירו , עבור המוצרים אשר מחירם נע בין 21.35 לבין Products 7. הצג מטבלת 43.9 , מיין את התוצאות עפ"י המחיר )סדר יורד( את קוד העובד,שם המשפחה ותאריך תחילת עבודה עבור העובדים אשר Employees 8. הצג מטבלת .TACOMA או LONDON גרים בערים את מספר העובד , שמו הפרטי ושם משפחתו עבור העובדים אשר מספר Employees 9. הצג מטבלת 5 , 2 , העובד שלהם שווה ל 1 את שמו הפרטי של העובד, שם משפחתו , ותאריך לידתו עבור העובדים Employees 10 . הצג מטבלת 7 , 5 , אשר מספר העובד שלהם לא שווה לערכים 4 את מספר המוצר, שם המוצר ומספר הקטגוריה עבור המוצרים אשר מספר Products 11 . הצג מטבלת 2 או 7. מיין את התוצאות עפ"י מספר קטגוריה )סדר עולה( , הקטגוריה שלהם שונה מ- 1 את שמם הפרטי של העובדים והאיזור שלהם, Employees 12 .הצג מטבלת NULL הוא ) Region( עבור העובדים אשר ערך האיזור שלהם את שמות המוצרים ומחירם עבור שלושת המוצרים היקרים ביותר. products 13 . יש להציג מטבלת את מספרי ההזמנות, תאריך ההזמנה ותאריך הדרישה עבור כל ההזמנות Orders 14 . יש להציג מטבלת . שתאריך הדרישה שלהם אחרי חודש אוקטובר 1996 את מספר העובדים, שם המשפחה שלהם ולמי הם מדווחים, רק employees 15 . יש להציג מטבלת עבור אותם עובדים שיש להם מנהל )כלומר יש להם למי לדווח(. יש למיין את התוצאות ע"פ מספר עובד בסדר עולה
הזכויות שמורות לג'ון ברייס מכללת הי-טק מקבוצת מטריקס © 'o' את כל הפרטים של קטגוריות שיש להן את האות categories 16 . יש להציג מטבלת בשם. את שם החברה ומדינתה , עבור החברות שהאות האחרונה בשמם היא Customers 17 . הצג מטבלת .'a' 'a' את שם המוצר ומספר הקטגוריה שלו , עבור המוצרים שבשמם האות Products 18 . הצג מטבלת היא אות אחת לפני הסוף. את מספר ההזמנה, מספר הלקוח ומספר העובד עבור ההזמנות Orders 19 . יש להציג מטבלת . שהתבצעו מחודש אפריל עד חודש מאי בשנת 1997 יש לבצע מיון לפי תאריך הזמנה בסדר עולה ומיון משני לפי מספר לקוח בסדר יורד. את מספר הלקוח, שם החברה, ארץ, טלפון ואזור עבור הלקוחות Customers 20 . יש להציג מטבלת .NULL והאזור שלהם הוא ,G או M,F שנמצאים במדינות ששמן מתחיל ב את מספר העובד, השם המלא, תאריך הלידה והמדינה עבור employees 21 . יש להציג מטבלת . או שנולדו בשנת 1963 D או K העובדים שבשם המשפחה שלהם מופיעה האות את שם המוצר, מחיר ליחידה ומס' הספק עבור המוצרים אשר Products 22 . הצג מטבלת . מחירם גבוה מ – 30 . וגם מס' הספק שלהם הוא 1 או 3 שאלות אתגר את מספר ההזמנה, מספר העובד, תאריך ההזמנה, Orders 23 . יש להציג מטבלת תאריך הדרישה ושם המשלוח עבור ההזמנות שעומדות בתנאים הבאים: מספר העובד שלהם הוא 7 וגם שם המשלוח שלהם הוא אחד מהבאים : QUICK-Stop Du mond entire Eastern Connection וגם ההפרש בין תאריך הדרישה לתאריך ההזמנה גדול מ 20- יום. את מספר המוצר ושם המוצר עבור המוצרים ש: products 24 . יש להציג מטבלת . שמספר הספק שלהם הוא 8,16 או 21 . או מחיר היחידה קטן מ 10 בכל מקרה יש לכלול בתוצאות רק מוצרים שכמותם במלאי אינה בין 10 ל 100 יש למיין בסדר עולה לפי מחיר היחידה.
תרגול where – תשובות
-- ex1
select
FirstName, LastName
from employees
Where EmployeeID = 3
-- ex2
select
ProductName, UnitPrice
from Products
where ProductID = 4
-- ex3
select
ProductID, ProductName, UnitPrice
from Products
where UnitPrice > 20
-- ex4
select
FirstName+' '+LastName,
BirthDate,
ReportsTo
from Employees
where EmployeeID = 8
-- ex5
select
EmployeeID,
FirstName+' '+LastName as [Name],
BirthDate
from Employees
where City = 'London'
-- ex6
select *
from Products
where UnitPrice not Between 50 and 100
-- ex7
select
ProductName, UnitPrice
from Products
where UnitPrice between 21.35 and 43.9
order by UnitPrice desc
-- ex8
select
EmployeeID, LastName, HireDate
from Employees
where City = 'LONDON' or City = 'TACOMA'
-- ex9
select
EmployeeID, FirstName, LastName
from Employees
where EmployeeID = 1 or EmployeeID = 2 or EmployeeID = 5
-- ex10
select
FirstName, LastName, BirthDate
from Employees
where EmployeeID <> 4 and EmployeeID <> 5 and EmployeeID <> 7
-- ex11
select
ProductID, ProductName, CategoryID
from Products
where CategoryID <> 1 and CategoryID <> 2 and CategoryID <> 7
order by CategoryID asc
-- ex12
select
FirstName, Region
from Employees
where Region is null
-- ex13
select top 3
ProductName, UnitPrice
from products
order by UnitPrice desc
-- ex14
select
OrderID, OrderDate, RequiredDate
from Orders
where RequiredDate > '1996-10-31'
-- ex15
select
EmployeeID, LastName, ReportsTo
from employees
where ReportsTo is not null
order by EmployeeID
-- ex16
select *
from categories
where CategoryName like '%s%'
-- ex17
select
CompanyName, Country
from Customers
where CompanyName like '%a'
-- ex18
select
ProductName, CategoryID
from Products
where ProductName like '%a[abcdefghijklmnopqrstuvwxyz]'
-- ex19
select
OrderID, CustomerID, EmployeeID
from Orders
where OrderDate Between '1997-04-01' and '1997-05-31'
order by OrderDate asc, CustomerID
-- ex20
select
CustomerID, CompanyName, Country, Phone, Region
from Customers
where Country like 'f%' or Country like 'm%' or
Country like 'g%' and Region is null
-- ex21
select
EmployeeID, FirstName+' '+LastName as [Full Name], BirthDate, Country
from employees
where LastName like '%k%' or LastName like '%d' or BirthDate
Between '1963-01-01' and '1963-12-31'
-- ex22
select
productName, UnitPrice, SupplierID
from Products
where UnitPrice > 30 and (SupplierID = 1 or SupplierID = 3)
-- ex23
select
OrderID, EmployeeID, OrderDate, RequiredDate, ShipName
from Orders
where EmployeeID = 7 and (ShipName = 'QUICK-Stop' or
ShipName = 'Du mond entire' or ShipName = 'Eastern Connection')
and (RequiredDate - OrderDate) > 20