תרגול זה מסתמך על מאגר הנתונים ACDB. לתרגולים נוספים בנושאים שונים ניתן להשתמש במדריך ה SQL.

1.   הציגו את כל הנתונים הקיימים בטבלת Customers  באמצעות פקודת ה SELECT.

2.      האם השאילתה הבאה תעבוד :

FROM Customers 

SELECT last_name , first_name

3.      הציגו מתוך טבלת PACKAGES את מספר החבילה, מהירות הגלישה והתשלום החודשי.

לעמודת התשלום החודשי הגדירו את הכינוי MP

4.      האם השאילתה הבאה תעבוד :

SELECT strt_date, monthly_payment

FROM   packages 

5.      האם השאילתה הבאה תעבוד :

SeleCT        last_NAME , fiRST_NamE , FROM customers

6.      מתוך טבלתCUSTOMERS   הציגו את מספר הלקוח, שמו הפרטי, שם משפחתו, מספרי הטלפון בהם ניתן להשיג אותו (ראשי ומשני), ומספר החבילה.

7.      הציגו מתוך טבלת CUSTOMERSשם פרטי, שם משפחה, תאריך הצטרפות לחברה, סכום הנחה חודשית, סכום הנחה חודשית פלוס 20% תחת הכינוי  DC_Bוסכום הנחה חודשית פחות 40% תחת הכינוי DC_L

8.      הציגו מתוך טבלת PACKAGES את מספר החבילה, מהירות הגלישה, תאריך פרסום החבילה (strt_date), תשלום חודשי, ותשלום חודשי * 12 תחת הכינוי Y_INCOME

9.      סמנו את המשפט הנכון :

א.      ניתן לבצע כל חישוב מתמטי על כל עמודה, פרט לעמודות מסוג מחרוזת.

ב.      ניתן לבצע על עמודות מסוג מחרוזת פעולת חיבור, השרת יזהה זאת כשרשור.

ג.       ניתן לבצע פעולות חישוב על עמודות מסוג תאריך פרט לחיבור או חיסור .

ד.      הרצת פעולה חישובית ב SELECT במקרים מסויימים עלולה לשנות את הנתונים בטבלה.

ה.      אף אחד מהמשפטים אינו נכון.

10.   הציגו מתוך טבלת CUSTOMERS את שמו המלא של כל לקוח תחת עמודה אחת בשם FULL_NAME, ואת מספרי הטלפוןהשונים (ראשי ומשני) משורשרים בעמודה שנייה בשם CONTACT_DETAILS.

11.   הציגו מתוך טבלת CUSTOMERSאת הערים הקיימות בה (בצורה ייחודית).

12.   הציגו מתוך טבלת CUSTOMERSאת המדינות הקיימות בה (בצורה ייחודית).

13.   הציגו מתוך טבלת CUSTOMERSאת השילוב הייחודי של הערים והמדינות הקיימות בה

14.   הציגו מתוך טבלת CUSTOMERS את שם משפחת הלקוח משורשר עם המדינה ממנה הוא מגיע, תנו לעמודה את הכינויEMPLOYEE_AND_ STATE.

15.   הציגו מתוך טבלת CUSTOMERSאת שמו הפרטי של הלקוח תחת הכינוי FN, את שם משפחתו תחת הכינוי LN, סכום הנחה חודשית תחת הכינוי DC ואת – עירו משורשרת עם מדינתו משורשרת עם כתובתו תחת הכותרת FULL_ADDRESS

16.   הציגו מתוך טבלת CUSTOMERSאת סכומי ההנחה החודשית השונים בצורה ייחודית.

17.   הציגו את מספרי החבילות השונים מתוך טבלת CUSTOMERS

 

פתרונות SQL Server


הפתרונות הבאים תקפים לפלטפורמת מיקרוסופט, לפתרונות עבור פלטפורמת אורקל לחץ כאן.

-- 1
SELECT * FROM customers
-- 2
-- Error, From clause must follow Select Clause
-- 3
SELECT pack_id , speed, monthly_payment AS 'MP'FROM packages
-- 4
-- Query executed successfully : SELECT strt_date , monthly_paymentFROM packages
-- 5
-- Error, comma cannot follow last column on the SELECT listSeleCT last_NAME , fiRST_NamE , FROM customers
-- 6
SELECT customer_id, first_name , last_name , main_phone_num , 
secondary_phone_num , pack_id
FROM customers
-- 7
SELECT first_name , last_name , join_date , monthly_discount , 
monthly_discount * 1.2 AS 'DC_N' , monthly_discount * 0.6 AS 'DC_L' 
FROM customers
-- 8
SELECT pack_id , speed, strt_date, monthly_payment, 
monthly_payment * 12 AS 'Y_INCOME'
FROM packages
-- 9
-- B
-- 10
SELECT first_name + ' ' + last_name AS 'FULL_NAME' ,
main_phone_num + ' / ' + secondary_phone_num AS 'CONTACT_DETAILS'
FROM customers
-- 11
SELECT DISTINCT city FROM customers
-- 12
SELECT DISTINCT state FROM customers
-- 13
SELECT DISTINCT state, city FROM customers
-- 14
SELECT last_name + ' ' + state AS 'EMPLOYEE_AND_STATE' FROM customers
-- 15
SELECT first_name AS 'FN' ,last_name AS 'LN' ,
monthly_discount AS 'DC' ,city + ' ' + state + ' ' + street AS 'FULL_ADDRESS'
FROM customers
-- 16
SELECT DISTINCT monthly_discount FROM customers
-- 17
SELECT DISTINCT pack_id FROM customers

 

פתרונות Oracle

-- 1
SELECT * FROM customers
-- 2
-- Error, From clause must follow Select Clause
-- 3
SELECT pack_id , speed, monthly_payment AS "MP" FROM packages
-- 4
-- Query executed successfully : SELECT strt_date , monthly_paymentFROM packages
-- 5
-- Error, comma cannot follow last column on the SELECT listSeleCT last_NAME , fiRST_NamE , FROM customers
-- 6
SELECT customer_id, first_name , last_name , main_phone_num , 
secondary_phone_num , pack_id
FROM customers
-- 7
SELECT first_name , last_name , join_date , monthly_discount , 
monthly_discount * 1.2 AS "DC_N" , monthly_discount * 0.6 AS "DC_L"
FROM customers
-- 8
SELECT pack_id , speed, strt_date, monthly_payment, 
monthly_payment * 12 AS "Y_INCOME"
FROM packages
-- 9
-- B
-- 10
SELECT first_name || ' ' || last_name AS "FULL_NAME",
main_phone_num || ' / ' || secondary_phone_num AS "CONTACT_DETAILS"
FROM customers
-- 11
SELECT DISTINCT city FROM customers
-- 12
SELECT DISTINCT state FROM customers
-- 13
SELECT DISTINCT state, city FROM customers
-- 14
SELECT last_name || ' ' || state AS "EMPLOYEE_AND_STATE" FROM customers
-- 15
SELECT first_name AS "FN" ,last_name AS "LN" ,
monthly_discount AS "DC" ,city || ' ' || state || ' ' || street AS "FULL_ADDRESS"
FROM customers
-- 16
SELECT DISTINCT monthly_discount FROM customers
-- 17
SELECT DISTINCT pack_id FROM customers