-
Notifications
You must be signed in to change notification settings - Fork 69
/
8_using_null.sql
65 lines (57 loc) · 1.79 KB
/
8_using_null.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
-- # 1. List the teachers who have NULL for their department.
SELECT name
FROM teacher
WHERE dept IS NULL;
-- # 3. Use a different JOIN so that all teachers are listed.
SELECT teacher.name, dept.name
FROM teacher
LEFT OUTER JOIN dept
ON teacher.dept = dept.id;
-- # 4. Use a different JOIN so that all departments are listed.
SELECT teacher.name, dept.name
FROM teacher
RIGHT OUTER JOIN dept
ON teacher.dept = dept.id;
-- # 5. Use COALESCE to print the mobile number. Use the number '07986
-- #444 2266' there is no number given. Show teacher name and mobile
-- #number or '07986 444 2266'
SELECT name, COALESCE(mobile, '07986 444 2266')
FROM teacher;
-- # 6. Use the COALESCE function and a LEFT JOIN to print the name and
-- #department name. Use the string 'None' where there is no
-- #department.
SELECT name, COALESCE(dept, 'None')
FROM teacher;
-- # 7. Use COUNT to show the number of teachers and the number of
-- #mobile phones.
SELECT COUNT(name), COUNT(mobile)
FROM teacher;
-- # 8. Use COUNT and GROUP BY dept.name to show each department and
-- #the number of staff. Use a RIGHT JOIN to ensure that the
-- #Engineering department is listed.
SELECT dept.name ,COUNT(teacher.name)
FROM teacher
RIGHT OUTER JOIN dept
ON teacher.dept = dept.id
GROUP BY dept.name;
-- #9: Use CASE to show the name of each teacher followed by 'Sci' if
-- #the the teacher is in dept 1 or 2 and 'Art' otherwise.
SELECT teacher.name,
CASE
WHEN teacher.dept IN (1, 2)
THEN 'Sci'
ELSE 'Art'
END
FROM teacher;
-- #10: Use CASE to show the name of each teacher followed by 'Sci' if
-- #the the teacher is in dept 1 or 2 show 'Art' if the dept is 3 and
-- #'None' otherwise.
SELECT teacher.name,
CASE
WHEN teacher.dept IN (1, 2)
THEN 'Sci'
WHEN teacher.dept = 3
THEN 'Art'
ELSE 'None'
END
FROM teacher;