"HR-SQL Occupations"의 두 판 사이의 차이

(새 문서: ==개요== ;{{subst:PAGENAME}} * {{HR-SQL 헤더}} {{HR-SQL Advanced Select}} |} <source lang='sql'> </source>)
 
잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
 
(다른 사용자 한 명의 중간 판 5개는 보이지 않습니다)
7번째 줄: 7번째 줄:
|}
|}


<source lang='sql'>
==DB2==
</source>
<syntaxhighlight lang='sql'>
</syntaxhighlight>
 
==MS SQL==
<syntaxhighlight lang='sql'>
</syntaxhighlight>
 
==MySQL==
<syntaxhighlight lang='mysql'>
SET @c1=0, @c2=0, @c3=0, @c4=0;
SELECT MIN(Name1), MIN(Name2), MIN(Name3), MIN(Name4)
FROM (
SELECT CASE Occupation
    WHEN 'Doctor' THEN @c1:=@c1+1
    WHEN 'Professor' THEN @c2:=@c2+1
    WHEN 'Singer' THEN @c3:=@c3+1
    WHEN 'Actor' THEN @c4:=@c4+1
END AS RowNumber,
IF(Occupation='Doctor',Name,NULL) AS Name1,
IF(Occupation='Professor',Name,NULL) AS Name2,
IF(Occupation='Singer',Name,NULL) AS Name3,
IF(Occupation='Actor',Name,NULL) AS Name4
FROM OCCUPATIONS
ORDER BY Name
) AS t GROUP BY RowNumber;
</syntaxhighlight>
<syntaxhighlight lang='mysql'>
SET @c1=0, @c2=0, @c3=0, @c4=0;
SELECT MIN(Name1), MIN(Name2), MIN(Name3), MIN(Name4)
FROM (
SELECT CASE Occupation
    WHEN 'Doctor' THEN @c1:=@c1+1
    WHEN 'Professor' THEN @c2:=@c2+1
    WHEN 'Singer' THEN @c3:=@c3+1
    WHEN 'Actor' THEN @c4:=@c4+1
END AS RowNumber,
CASE WHEN Occupation='Doctor' THEN Name END AS Name1,
CASE WHEN Occupation='Professor' THEN Name END AS Name2,
CASE WHEN Occupation='Singer' THEN Name END AS Name3,
CASE WHEN Occupation='Actor' THEN Name END AS Name4
FROM OCCUPATIONS
ORDER BY Name
) AS t GROUP BY RowNumber;
</syntaxhighlight>
<syntaxhighlight lang='mysql'>
SET @c1=0, @c2=0, @c3=0, @c4=0;
SELECT MIN(Name1), MIN(Name2), MIN(Name3), MIN(Name4)
FROM (
SELECT CASE
    WHEN Occupation='Doctor' THEN @c1:=@c1+1
    WHEN Occupation='Professor' THEN @c2:=@c2+1
    WHEN Occupation='Singer' THEN @c3:=@c3+1
    WHEN Occupation='Actor' THEN @c4:=@c4+1
END AS RowNumber,
CASE WHEN Occupation='Doctor' THEN Name END AS Name1,
CASE WHEN Occupation='Professor' THEN Name END AS Name2,
CASE WHEN Occupation='Singer' THEN Name END AS Name3,
CASE WHEN Occupation='Actor' THEN Name END AS Name4
FROM OCCUPATIONS
ORDER BY Name
) AS t GROUP BY RowNumber;
</syntaxhighlight>
 
==Oracle==
<syntaxhighlight lang='sql'>
</syntaxhighlight>

2021년 7월 31일 (토) 10:49 기준 최신판

1 개요[ | ]

HR-SQL Occupations
해커랭크 SQL
문제 DB2 MS SQL MySQL Oracle
HR-SQL Advanced Select e
HR-SQL Type of Triangle
HR-SQL The PADS
HR-SQL Occupations
HR-SQL Binary Tree Nodes
HR-SQL New Companies

2 DB2[ | ]

3 MS SQL[ | ]

4 MySQL[ | ]

SET @c1=0, @c2=0, @c3=0, @c4=0;
SELECT MIN(Name1), MIN(Name2), MIN(Name3), MIN(Name4)
FROM (
SELECT CASE Occupation
    WHEN 'Doctor' THEN @c1:=@c1+1
    WHEN 'Professor' THEN @c2:=@c2+1
    WHEN 'Singer' THEN @c3:=@c3+1
    WHEN 'Actor' THEN @c4:=@c4+1
END AS RowNumber,
IF(Occupation='Doctor',Name,NULL) AS Name1,
IF(Occupation='Professor',Name,NULL) AS Name2,
IF(Occupation='Singer',Name,NULL) AS Name3,
IF(Occupation='Actor',Name,NULL) AS Name4
FROM OCCUPATIONS
ORDER BY Name
) AS t GROUP BY RowNumber;
SET @c1=0, @c2=0, @c3=0, @c4=0;
SELECT MIN(Name1), MIN(Name2), MIN(Name3), MIN(Name4)
FROM (
SELECT CASE Occupation
    WHEN 'Doctor' THEN @c1:=@c1+1
    WHEN 'Professor' THEN @c2:=@c2+1
    WHEN 'Singer' THEN @c3:=@c3+1
    WHEN 'Actor' THEN @c4:=@c4+1
END AS RowNumber,
CASE WHEN Occupation='Doctor' THEN Name END AS Name1,
CASE WHEN Occupation='Professor' THEN Name END AS Name2,
CASE WHEN Occupation='Singer' THEN Name END AS Name3,
CASE WHEN Occupation='Actor' THEN Name END AS Name4
FROM OCCUPATIONS
ORDER BY Name
) AS t GROUP BY RowNumber;
SET @c1=0, @c2=0, @c3=0, @c4=0;
SELECT MIN(Name1), MIN(Name2), MIN(Name3), MIN(Name4)
FROM (
SELECT CASE
    WHEN Occupation='Doctor' THEN @c1:=@c1+1
    WHEN Occupation='Professor' THEN @c2:=@c2+1
    WHEN Occupation='Singer' THEN @c3:=@c3+1
    WHEN Occupation='Actor' THEN @c4:=@c4+1
END AS RowNumber,
CASE WHEN Occupation='Doctor' THEN Name END AS Name1,
CASE WHEN Occupation='Professor' THEN Name END AS Name2,
CASE WHEN Occupation='Singer' THEN Name END AS Name3,
CASE WHEN Occupation='Actor' THEN Name END AS Name4
FROM OCCUPATIONS
ORDER BY Name
) AS t GROUP BY RowNumber;

5 Oracle[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}