AAtsushi's Blog
Database

Trying SQL Zoo ~ Using NULL

→ 日本語版を読む

Overview

The Using NULL section of SQL Zoo had mostly easy problems. I'll leave my answers here for reference.

1.

SELECT name
FROM teacher
WHERE dept IS NULL

2.

SELECT teacher.name, dept.name "Dept"
 FROM teacher INNER JOIN dept
           ON (teacher.dept=dept.id)

3.

SELECT teacher.name, dept.name "Dept"
FROM teacher
LEFT JOIN dept ON dept = dept.id

4.

SELECT teacher.name, dept.name "dept"
FROM teacher
RIGHT JOIN dept ON dept = dept.id

5.

SELECT name, COALESCE(mobile, '07986 444 2266') "Mobile"
FROM teacher

6.

SELECT teacher.name, COALESCE(dept.name, 'None') "Dept"
FROM teacher
LEFT JOIN dept ON dept = dept.id

7.

SELECT COUNT(name) "# of Teacher", COUNT(mobile) "Mobile"
FROM teacher

8.

SELECT dept.name "Dept", COUNT(teacher.name) "# of Teacher"
FROM teacher
RIGHT JOIN dept ON dept = dept.id
GROUP BY dept.name

9.

SELECT name,
  CASE dept
   WHEN 1 THEN 'Sci'
   WHEN 2 THEN 'Sci'
   ELSE 'Art'
  END "Type of Dept"
FROM teacher

10.

SELECT name,
  CASE dept
   WHEN 1 THEN 'Sci'
   WHEN 2 THEN 'Sci'
   WHEN 3 THEN 'Art'
   ELSE 'None'
  END "Type of Dept"
FROM teacher