-
Notifications
You must be signed in to change notification settings - Fork 0
/
3.8.3_subqueries_exercises.sql
92 lines (90 loc) · 1.49 KB
/
3.8.3_subqueries_exercises.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
USE employees;
#1
SELECT first_name, last_name
FROM employees
WHERE hire_date IN (
SELECT hire_date
FROM employees
WHERE emp_no = 101010);
#2
SELECT title
FROM titles
WHERE emp_no IN (
SELECT emp_no
FROM employees
WHERE first_name = "Aamod");
#3
SELECT count(*)
FROM employees
WHERE emp_no IN (
SELECT emp_no
FROM salaries
GROUP BY emp_no
HAVING Max(to_date) < now()
);
# MY ORIGINAL CODE:
#SELECT count(emp_no) AS `No longer with company`
#FROM employees
#WHERE emp_no IN (
#SELECT emp_no
#FROM dept_emp
#WHERE to_date < now()
#); # correct answer is 59900; I got 85108
#4
SELECT first_name, last_name
FROM employees
WHERE emp_no IN (
SELECT emp_no
FROM dept_manager
WHERE to_date > now()
AND gender = 'F');
#5
SELECT first_name, last_name
FROM employees
WHERE emp_no IN (
SELECT emp_no
FROM salaries
WHERE salary > (
SELECT AVG(salary)
FROM salaries)
AND to_date > now())
;
#6 CURRENT
SELECT count(salary)
FROM salaries
WHERE
;
#7 BONUS_1
SELECT *
FROM departments
WHERE dept_no IN(
SELECT dept_no
FROM dept_manager
WHERE to_date > now()
AND emp_no IN (
SELECT emp_no
FROM employees
WHERE gender = 'F'
))
;
#8 Bonus_2
SELECT first_name, last_name
FROM employees
WHERE emp_no IN (
SELECT emp_no
FROM salaries
WHERE salary IN (
SELECT MAX(salary)
FROM salaries));
#9 Bonus_3
SELECT dept_name
FROM departments
WHERE dept_no IN (
SELECT dept_no
FROM dept_emp
WHERE emp_no IN (
SELECT emp_no
FROM salaries
WHERE salary IN (
SELECT MAX(salary)
FROM salaries)));