תרגול זה מסתמך על מאגר הנתונים HR. לתרגולים נוספים בנושאים שונים ניתן להשתמש במדריך ה SQL.
1. הציגו את מבנה טבלת EMPLOYEES באמצעות פקודת ה-DESC (רלוונטי לאורקל בלבד)
2. הציגו את כל הנתונים הקיימים בטבלה זו באמצעות פקודת SELECT.
3. האם השאילתה הבאה תעבוד :
FROM employees SELECT last_name , first_name
4. הציגו מתוך טבלת DEPARTMENTSאת שם המחלקה, מספר המחלקה, ומספר המנהל (למספר
המנהל תנו את הכינוי MNG).
5. האם השאילתה הבאה תעבוד :
SELECT department_name, department_name FROM departments
6. האם השאילתה הבאה תעבוד :
SeleCT last_NAME, fiRST_Name, FROM employees
7. הציגו מתוך טבלת EMPLOYEES את מספר העובד, שמו הפרטי, שם משפחתו, טלפון ומספר מחלקה.
8. הציגו מתוך טבלת EMPLOYEES שם פרטי, שם משפחה, תאריך גיוס, משכורת, ומשכורת * 12 תחת הכינוי ANNUAL_SAL.
9. סמנו את המשפט הנכון :
א. ניתן לבצע כל חישוב מתמטי על כל עמודה, פרט לעמודות מסוג מחרוזת.
ב. ניתן לבצע על עמודות מסוג מחרוזת פעולת חיבור, השרת יזהה זאת כשרשור.
ג. ניתן לבצע פעולות חישוב על עמודות מסוג תאריך פרט לחיבור או חיסור .
ד. הרצת פעולה חישובית ב SELECT במקרים מסויימים עלולה לשנות את הנתונים בטבלה.
ה. אף אחד מהמשפטים אינו נכון.
10. הציגו מתוך טבלת EMPLOYEES את שמו המלא של כל עובד תחת עמודה אחת בשם full name, ואת הטלפון ואת האימייל בעמודה שנייה בשם contact details.
11. הציגו מתוך טבלת EMPLOYEESאת מספרי המנהלים הקיימים בה (בצורה ייחודית).
12. הציגו מתוך טבלת EMPLOYEES את שם משפחת העובד משורשר עם מספר המשרה ותנו לעמודה את הכינויEmployee And Title.
13. הציגו מתוך טבלת EMPLOYEES את שמו הפרטי של העובד תחת הכינוי FN, את שם משפחתו תחת הכינוי LN, את משכורתו תחת הכינוי SAL ואת תאריך תחילת עבודתו משורשר עם המחרוזת HD, תחת הכינוי HD.
14. הציגו מתוך טבלת EMPLOYEESאת המשכורות השונות בצורה ייחודית.
15. הציגו מתוך טבלת EMPLOYEES את שילוב הערכים הייחודי של עמודת DEPARTMENT_ID ועמודת JOB_ID.
פתרונות SQL Server
הפתרונות הבאים תקפים לפלטפורמת מיקרוסופט, לפתרונות עבור פלטפורמת אורקל לחץ כאן.
1. DESC employees 2. SELECT * FROM employees 3. FROM employees SELECT last_name , first_name שגיאה .4 SELECT department_name , department_id , manager_id AS "MNG" FROM departments .5 SELECT department_name , department_name FROM departments תקין .6 SeleCT last_NAME , fiRST_NamE , FROM Employees שגיאה - פסיק מיותר .7 SELECT employee_id , first_name , last_name , phone_number , department_id FROM employees .8 SELECT first_name , last_name , hire_date , salary , salary * 12 AS "ANNUAL_SAL" FROM employees 9. B .10 SELECT first_name + ' ' +last_name AS "FULL_NAME" , phone_number + ' - ' + email AS "CONTACT_DETAILS" FROM employees .11 SELECT DISTINCT manager_id FROM employees .12 SELECT last_name + ' ' + job_id AS "EMPLOYEE_AND_TITLE" FROM employees .13 -- In MSSQL, in order to concatenate string with date / number, everything must be converted into string. -- One way to preform this conversion is using the CAST function. SELECT first_name AS "FN" , last_name AS "LN" , salary AS "SAL" , 'HD : '+ CAST(hire_date AS VARCHAR) AS "HD" FROM employees 14. SELECT DISTINCT salary FROM employees 15. SELECT DISTINCT department_id , job_id FROM employees
פתרונות Oracle
1. DESC employees 2. SELECT * FROM employees 3. FROM employees SELECT last_name , first_name שגיאה .4 SELECT department_name , department_id , manager_id AS "MNG" FROM departments .5 SELECT department_name , department_name FROM departments תקין .6 SeleCT last_NAME , fiRST_NamE , FROM Employees שגיאה - פסיק מיותר .7 SELECT employee_id , first_name , last_name , phone_number , department_id FROM employees .8 SELECT first_name , last_name , hire_date , salary , salary * 12 AS "ANNUAL_SAL" FROM employees 9. אף אחת מהתשובות אינה נכונה - ה .10 SELECT first_name || ' ' || last_name AS "FULL_NAME" , phone_number || ' - ' || email AS "CONTACT_DETAILS" FROM employees .11 SELECT DISTINCT manager_id FROM employees .12 SELECT last_name || ' ' || job_id AS "EMPLOYEE_AND_TITLE" FROM employees .13 SELECT first_name AS "FN" , last_name AS "LN" , salary AS "SAL" , 'HD : '|| hire_date AS "HD" FROM employees 14. SELECT DISTINCT salary FROM employees 15. SELECT DISTINCT department_id , job_id FROM employees