Difference between revisions of "JOIN Quiz 2"

From SQLZOO
Jump to: navigation, search
Line 93: Line 93:
 
{Using <code>SELECT name, dept, COALESCE(dept, 0) AS result FROM teacher</code> on <code>teacher</code> table will:
 
{Using <code>SELECT name, dept, COALESCE(dept, 0) AS result FROM teacher</code> on <code>teacher</code> table will:
 
|type="()"}
 
|type="()"}
- SELECT dept.name FROM teacher JOIN dept ON (dept.id = (SELECT dept FROM teacher WHERE name = 'Cutflower'))
+
- display 0 in result column for all teachers
- SELECT dept.name FROM teacher JOIN dept ON (dept.id = teacher.dept) WHERE dept.id = (SELECT dept FROM teacher HAVING name = 'Cutflower')
+
+ display 0 in result column for all teachers without department
+ SELECT dept.name FROM teacher JOIN dept ON (dept.id = teacher.dept) WHERE teacher.name = 'Cutflower'
+
- do nothing - the statement is incorrect
- SELECT dept.name FROM teacher JOIN dept WHERE dept.id = (SELECT dept FROM teacher WHERE name = 'Cutflower')
+
- set dept value of all teachers to 0
- SELECT name FROM teacher JOIN dept ON (id = dept) WHERE id = (SELECT dept FROM teacher WHERE name = 'Cutflower')
+
- set dept value of all teachers without department to 0
  
 
</quiz>
 
</quiz>
  
 
[[Category:Quizzes]]
 
[[Category:Quizzes]]

Revision as of 13:37, 18 July 2012

JOIN Quiz - part 2

teacher
id dept name phone mobile
101 1 Shrivell 2753 07986 555 1234
102 1 Throd 2754 07122 555 1920
103 1 Splint 2293
104 Spiregrain 3287
105 2 Cutflower 3212 07996 555 6574
106 Deadyawn 3345
dept
id name
1 Computing
2 Design
3 Engineering

<quiz shuffle=none display=simple> {Which of the following uses of JOIN is correct? |type="()"} - SELECT teacher.name, dept.name FROM teacher JOIN dept ON (dept = id) - SELECT teacher.name, dept.name FROM teacher, dept INNER JOIN ON (teacher.dept = dept.id) - SELECT teacher.name, dept.name FROM teacher, dept JOIN WHERE(teacher.dept = dept.id) - SELECT teacher.name, dept.name FROM teacher OUTER JOIN dept ON dept.id + SELECT teacher.name, dept.name FROM teacher LEFT OUTER JOIN dept ON (teacher.dept > dept.id)

{Select the correct statement that shows the name of department which employs Cutflower |type="()"} - SELECT dept.name FROM teacher JOIN dept ON (dept.id = (SELECT dept FROM teacher WHERE name = 'Cutflower')) - SELECT dept.name FROM teacher JOIN dept ON (dept.id = teacher.dept) WHERE dept.id = (SELECT dept FROM teacher HAVING name = 'Cutflower') + SELECT dept.name FROM teacher JOIN dept ON (dept.id = teacher.dept) WHERE teacher.name = 'Cutflower' - SELECT dept.name FROM teacher JOIN dept WHERE dept.id = (SELECT dept FROM teacher WHERE name = 'Cutflower') - SELECT name FROM teacher JOIN dept ON (id = dept) WHERE id = (SELECT dept FROM teacher WHERE name = 'Cutflower')


{Using SELECT name, dept, COALESCE(dept, 0) AS result FROM teacher on teacher table will: |type="()"} - display 0 in result column for all teachers + display 0 in result column for all teachers without department - do nothing - the statement is incorrect - set dept value of all teachers to 0 - set dept value of all teachers without department to 0

</quiz>