על מנת לפתור את התרגילים, מומלץ להעזר בפוסט הבא.

1.   הציגו מתוך טבלת Employees  את שמם הפרטי ושכרם של העובדים אשר מרוויחים יותר מעובד מספר 103.

2.      הציגו מתוך טבלת Departments  את מספר המחלקה ואת שם המחלקה עבור המחלקות שהמיקום שלהן (Location_id) שווה למיקום של מחלקה מספר 90.

3.      הציגו מתוך טבלת Employees  את שם משפחתם ותאריך העסקתם של העובדים אשר הועסקו אחרי עובד מספר 101.

4.      הציגו מתוך טבלת Employees  את שמם הפרטי, שם משפחתם ומספר מחלקתם של העובדים אשר שם מחלקתם שלהם היא Sales.

5.      הציגו מתוך טבלת Departments  את מספר המחלקה ושם המחלקה עבור המחלקות אשר ממוקמות בעיר Toronto .

6.      הציגו מתוך טבלת Employees  את שמם הפרטי, שכרם ומספר מחלקתם של העובדים אשר נמצאים באותה מחלקה כמו עובד מספר 124, חוץ מעובד מספר 124.

7.      הציגו מתוך טבלת Employees  את שמם הפרטי, שכרם ומספר מחלקתם של העובדים עבור העובדים אשר מרוויחים יותר מהממוצע.

8.      הציגו מתוך טבלת Employees  את שמם הפרטי, שכרם ומספר מחלקתם של העובדים עבור העובדים אשר שכרם שווה לאחת מהמשכורות במחלקה מס' 20.

9.      הציגו מתוך טבלת Employees  את שמם הפרטי, שכרם ומספר מחלקתם של העובדים עבור העובדים אשר שכרם גבוה מכל המשכורות במחלקה מס' 50.

10.  הציגו מתוך טבלת Employees  את שמם הפרטי, שכרם ומספר מחלקתם של העובדים עבור העובדים אשר מרוויחים לפחות יותר מהשכר המינימלי במחלקה מס' 60.

11.  הציגו מתוך טבלת Employees  את שמם הפרטי, שכרם ומספר מחלקתם של העובדים עבור העובדים אשר מרוויחים פחות מהמינימום במחלקה מס' 90.

12.  הציגו מתוך טבלת Employees  את שמם הפרטי, שכרם ומספר מחלקתם של העובדים אשר ממוקמים בעיר Seattle.

13.  הציגו מתוך טבלת Employees  את שמם הפרטי, שכרם ומספר מחלקתם של העובדים אשר מרוויחים פחות מהממוצע וגם נמצאים במחלקה בו עובד אדם ששמו הפרטי הוא Kevin.

פתרונות

1. 

SELECT last_name , salary 

FROM employees 

WHERE salary > (SELECT salary 

                FROM employees 

                WHERE employee_id = 103)

2.

SELECT department_id , department_name 

FROM departments 

WHERE location_id = (SELECT location_id 

                     FROM  departments  

                     WHERE department_id = 90)                     

3. 

SELECT last_name , hire_date 

FROM employees 

WHERE hire_date > (SELECT hire_date 

                   FROM employees 

                   WHERE employee_id = 101)

4.  

SELECT first_name , last_name , department_id 

FROM employees 

WHERE department_id = (SELECT department_id 

                       FROM departments 

                       WHERE department_name = 'Sales')

5.  

SELECT department_id , department_name 

FROM departments 

WHERE location_id = (SELECT location_id 

                     FROM locations 

                     WHERE city = 'Toronto')

6.  

SELECT first_name , last_name , salary , department_id 

FROM employees 

WHERE department_id = (SELECT department_id 

                       FROM employees 

                       WHERE employee_id = 124)

AND employee_id <> 124

7. 

SELECT first_name , last_name , salary , department_id 

FROM employees 

WHERE salary > (SELECT AVG(salary)

                FROM employees )

8.  

SELECT first_name , last_name , salary , department_id 

FROM employees

WHERE salary IN (SELECT salary 

                 FROM employees 

                 WHERE department_id = 20)

9.  

SELECT first_name , last_name , salary , department_id 

FROM employees

WHERE salary > ALL (SELECT salary 

                 FROM employees 

                 WHERE department_id = 50)

10.  

SELECT first_name , last_name , salary , department_id 

FROM employees

WHERE salary > ANY (SELECT salary 

                    FROM employees 

                    WHERE department_id = 60)

11. 

SELECT first_name , last_name , salary , department_id 

FROM employees

WHERE salary < ALL (SELECT salary 

                    FROM employees 

                    WHERE department_id = 90)

12.

SELECT first_name , last_name , salary , department_id 

FROM employees

WHERE department_id IN (SELECT department_id 

                       FROM departments 

                       WHERE location_id = (SELECT location_id 

                                            FROM locations 

                                            WHERE city = 'Seattle'))

13. 

SELECT first_name , last_name , salary , department_id 

FROM employees

WHERE        salary < (SELECT AVG(salary) 

                       FROM employees )

AND   department_id = (SELECT department_id 

                       FROM employees 

                       WHERE first_name = 'Kevin')