Запрос SQL: SELECT * FROM (SELECT title, dept_id FROM emp)PIVOT (COUNT(*) FOR dept_id IN (11, 21, 31, 41));
Результаты, эквивалентные выборке данного запроса, возвращают команды:
(Отметьте один правильный вариант ответа.)
Варианты ответа
SELECT title, COUNT (IF dept_id = 11 THEN 1 END) "11",COUNT (IF dept_id = 21 THEN 1 END) "21",COUNT (IF dept_id = 31 THEN 1 END) "31",COUNT (IF dept_id = 41 THEN 1 END) "41"FROM (SELECT title, dept_id FROM emp)GROUP BY title;
SELECT title, COUNT (CASE WHEN dept_id = 11 THEN 1 END) "11",COUNT (CASE WHEN dept_id = 21 THEN 1 END) "21",COUNT (CASE WHEN dept_id = 31 THEN 1 END) "31",COUNT (CASE WHEN dept_id = 41 THEN 1 END) "41"FROM (SELECT title, dept_id FROM emp)GROUP BY title;(Верный ответ)
SELECT title, COUNT (DECODE(dept_id, 11, 1, 0)) "11",COUNT (DECODE(dept_id, 21, 1, 0)) "21",COUNT (DECODE(dept_id, 31, 1, 0)) "31",COUNT (DECODE(dept_id, 41, 1, 0)) "41"FROM (SELECT title, dept_id FROM emp)GROUP BY title;
SELECT title, COUNT (FOR dept_id = 11 THEN 1 END) "11",COUNT (FOR dept_id = 21 THEN 1 END) "21",COUNT (FOR dept_id = 31 THEN 1 END) "31",COUNT (FOR dept_id = 41 THEN 1 END) "41"FROM (SELECT title, dept_id FROM emp)GROUP BY title;