-- select 명령문의 조합
-- 학년이 2, 3 학년인 학생의 학번과 이름을 출력하라
select stu_no, stu_name,grade from student where grade in (2 ,3);
select stu_no, stu_name,grade
from student
where grade = 2
union
select stu_no, stu_name,grade
from student
where grade = 3
-- 적어도 한번 이상 수강신청을 했거나 등록을 한 학생의 학번을 출력하라
select stu_no
from attend
union
select stu_no
from fee;
-- 적어도 한번 동아리에 가입했거나,
-- 등록을 하고 그리고 수강신청을 한 학생 중에서
-- 이상의 조건 중 둘 또는 세가지 조건을 만족하는 또는 두개의 조건에 모두 포함되는 각 학생의 학번을 출력하라
-- (x)
select stu_no from attend where stu_no in
(select stu_no from circle
union
select stu_no from fee
);
-- (o)
select stu_no from circle
union
select stu_no from fee
union
select stu_no
from attend
where att_div='Y';
-- 적어도 한번 이상 등록금 납부하고 동아리에 가입한 모든 학생을 출력하라
-- (단 중복된 행을 제거하지 않고 모두 출력한다. )
select stu_no from fee
UNION all
select stu_no from circle;
-- 20061011 학생과 20071307 학생이 받은 장학금액을 출력하라
select stu_no ,jang_total
from fee
where stu_no in (20061011, 20071307);
select stu_no, jang_total
from fee
where stu_no =20061011
union
select stu_no, jang_total
from fee
where stu_no =20071307;
-- -------------------------------------------------------
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 66 67 68 69 70 71 72 73 74 75 | -- select 명령문의 조합 -- 학년이 2, 3 학년인 학생의 학번과 이름을 출력하라 select stu_no, stu_name,grade from student where grade in (2 ,3); select stu_no, stu_name,grade from student where grade = 2 union select stu_no, stu_name,grade from student where grade = 3 -- 적어도 한번 이상 수강신청을 했거나 등록을 한 학생의 학번을 출력하라 select stu_no from attend union select stu_no from fee; -- 적어도 한번 동아리에 가입했거나, -- 등록을 하고 그리고 수강신청을 한 학생 중에서 -- 이상의 조건 중 둘 또는 세가지 조건을 만족하는 또는 두개의 조건에 모두 포함되는 각 학생의 학번을 출력하라 -- (x) select stu_no from attend where stu_no in (select stu_no from circle union select stu_no from fee ); -- (o) select stu_no from circle union select stu_no from fee union select stu_no from attend where att_div='Y'; -- 적어도 한번 이상 등록금 납부하고 동아리에 가입한 모든 학생을 출력하라 -- (단 중복된 행을 제거하지 않고 모두 출력한다. ) select stu_no from fee UNION all select stu_no from circle; -- 20061011 학생과 20071307 학생이 받은 장학금액을 출력하라 select stu_no ,jang_total from fee where stu_no in (20061011, 20071307); select stu_no, jang_total from fee where stu_no =20061011 union select stu_no, jang_total from fee where stu_no =20071307; -- ------------------------------------------------------- | cs |
'데이터 베이스 > MySQL' 카테고리의 다른 글
MYSQL join 예제&문제 10 (4) | 2016.12.14 |
---|---|
MYSQL 부속질의어 예제&문제 9 (3) | 2016.12.13 |
MYSQL order by 예제&문제 7 (3) | 2016.12.09 |
MYSQL Groupby & having 예제 문제 6 (2) | 2016.12.08 |
MYSQL 통계 함수 SUM AVG MAX MIN 예제 문제 5 (3) | 2016.12.07 |
댓글