פקודת Select
פקודת Select תביא את המידע שבטבלה
select * from employees
אם רוצים עמודות מסויימות
select [employeeID], [FirstName] from employyes
לא חייב [] אבל אם יש רווח בשם העמודה אז צריך.
הערות
הערות עם — זה של שורה אחת
הערות של יותר שורה אחת בתוך /* */.
בחירת עמודות
Select
EmployeeID ,FirstName, LastName
From Employees
שינוי שם עמודה
alias לתת לתוצאת העמודה שם אחר.
SELECT
FirstName AS f_name
FROM table_name
שם העמודה יהפוך ל-f_name.
יש data types שונים ב-SQL. נומרים ומחרוזות ותאריך.
שירשור מידע
Select
FirstName+’ ‘+ LastName as Name, EmployeeID
From Employees
אפשר לבצע את השירשור כי סוגי העמודות הם אותו הדבר.
פעולות אריתמטיות
אפשר לבצע פעולות אריתמטיות
select
ProductName, UnitPrice, UnitPrice*1.18
from products
לעמודה אחרי החישוב כדאי לתת שם כלשהו.
Select
ProductName, UnitPrice*0.9 AS "New Price"
From products
פתרון בעיית כפילות
אם אני רוצה את כתובות הלקוחות שבצעו הזמנה על פי מספר לקוח, יחזרו אלי המון רשומות כפולות כי לקוח ביצע הרבה הזמנות. אנחנו רוצים שכל לקוח יופיע פעם אחת.
Select distinct
CustomerID
From Orders
אם יש יותר מעמודה אחת, ה-distinct יהיה לשניהם. כלומר כרשומה לא יופיע אותו צירוף עמודות פעמיים.
SELECT DISTINCT
CategoryID, SupplierID
FROM Products
תרגול select – שאלות
- הצג את כל המידע מטבלת Orders.
- הצג את כל העמודות מטבלת Employees.
- הצג מטבלת Employees את העמודות הבאות: Country , Region , HireDate , FirstName.
- הצג מטבלת Orders את העמודות הבאות: OrderDate , OrderID , CustomerID.
- הצג מטבלת Products את העמודות הבאות: ProductID (ProId), ProductName(ProNm), UnitPrice(UntPr).
, )Ct – אליאס ( City , )Add – אליאס ( Address : את העמודות הבאות Employees 6. הצג מטבלת ) reg – אליאס ( Region
שתי עמודות: קוד הלקוח בעמודה אחת, הכתובת והעיר משורשרות יחדיו customers 7. הצג מטבלת לעמודה השנייה. "full address" בעמודה שנייה. יש לתת את השם
שלוש עמודות: Employees 8. הצג מטבלת Full השמות המלאים של העובדים )שם פרטי משורשר עם שם משפחה( תחת הכותרת ,Name ,Birth Date את תאריך יום ההולדת שלהם פלוס 8 ימים תחת הכותרת .Manager# תחת הכותרת )ReportsTo ואת קוד המנהל )עמודת
מהם מגיעים העובדים בצורה ייחודית )City( את הערים Employees 9. הצג מטבלת
מהם מגיעים העובדים בצורה ייחודית )Country( את המדינות Employees 10 . הצג מטבלת
של העובדים בצורה ייחודית )Title( את תיאור המשרה Employees 11 . הצג מטבלת
(City) ואת העיר )Country( את המדינה Customers 12 . א. הצג מטבלת את השילוב הייחודי של המדינה והעיר Customers ב. הצג מטבלת
את שמו הפרטי של העובד , תאריך הולדתו , Employees 13 . הצג מטבלת ותאריך הולדתו + 5 ימים
את שם המוצר, מחיר ליחידה , והמחיר ליחידה + 10 Products 14 . הצג מטבלת
15 . הצג מטבלת המוצרים את העמודות הבאות: קוד מוצר שם מוצר מחיר ליחידה מחיר לאחר העלאה של 16.5% )יש לתת לעמודה כינוי מתאים( מספר מוצרים במלאי מספר מוצרים מוזמנים. ההפרש בין מספר המוצרים במלאי למספר המוצרים המוזמנים
שאלת אתגר את העמודות הבאות: products 16 . יש להציג מטבלת מספר המוצר, שם מוצר, ועלות המוצרים במלאי שלא הוזמנו )כלומר חישוב ההפרש בין מספר המוצרים במלאי ומספר המוצרים שהוזמנו כפול מחיר ליחידה(. יש לתת שם מתאים לעמודה.
תרגול select – תשובות
-- ex1
select * from orders
-- ex2
select * from employees
-- ex3
select FirstName, HireDate, Region, Country from employees
-- ex4
select CustomerID, OrderID, OrderDate from Orders
-- ex5
select
ProductID as ProId,
ProductName as ProNm,
UnitPrice as UntPr
from Products
-- ex6
select
Address as Ad,
City as Ct,
Region as reg
from Employees
-- ex7
select
customerID,
address+' '+city as 'full address'
from customers
-- ex8
select
FirstName+' '+LastName as 'Full Name',
BirthDate+8 as 'Birth Date',
ReportsTo as Manager#
from Employees
-- ex9
select distinct
City
from Employees
-- ex10
select distinct
Country
from Employees
-- ex11
select distinct
Title
from Employees
-- ex12
select
Country, City
from Customers
select distinct
Country, City
from Customers
-- ex13
select
FirstName,
BirthDate,
BirthDate+5 as Plus5
from Employees
-- ex14
select
ProductName,
UnitPrice,
UnitPrice+10 as Plus10
from Products
-- ex15
select
ProductID,
ProductName,
UnitPrice,
UnitPrice*116.5 as [Plus-Maam],
UnitsInStock,
UnitsOnOrder,
UnitsInStock-UnitsOnOrder as [Available units]
from Products
-- ex16
select
ProductID,
ProductName,
UnitsInStock-UnitsOnOrder*UnitPrice as [Stock Value]
from Products