-- 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;
-- -------------------------------------------------------
|