תרגול זה מסתמך על מאגר הנתונים 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.
אף אחת מהתשובות אינה נכונה - ה

.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

 

פתרונות 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