-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChapter 3-3 위치에 따른 서브 쿼리.sql
59 lines (48 loc) · 1.48 KB
/
Chapter 3-3 위치에 따른 서브 쿼리.sql
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
USE EDU --[EDU] 데이터베이스를 사용합니다.
--SELECT절에 사용되는 서브 쿼리
SELECT *
,(SELECT gender
FROM [Member] B
WHERE A.mem_no = B.mem_no) AS gender
FROM [Order] A
/*************************************************************************************/
--FROM절에 사용되는 서브 쿼리
SELECT *
FROM (
SELECT mem_no
,SUM(sales_amt) AS tot_amt
FROM [Order]
GROUP
BY mem_no
)A
/*************************************************************************************/
--FROM절에 사용되는 서브 쿼리
--[Member] 및 [Order] 테이블 공통 값(mem_no) 결합
--1:1 관계
SELECT *
FROM (
SELECT mem_no
,SUM(sales_amt) AS tot_amt
FROM [Order]
GROUP
BY mem_no
)A
LEFT
JOIN [Member] B
ON A.mem_no = b.mem_no
/*************************************************************************************/
--WHERE절에 사용되는 서브 쿼리(단일 행 서브 쿼리)
--단일 행: 서브 쿼리 결과가 단일 행
SELECT *
FROM [Order]
WHERE mem_no = (SELECT mem_no FROM [Member] WHERE mem_no = '1000005')
--단일 행 확인
SELECT mem_no FROM [Member] WHERE mem_no = '1000005'
/*************************************************************************************/
--WHERE절에 사용되는 서브 쿼리(다중 행 서브 쿼리)
--다중 행: 서브 쿼리 결과가 여러 행
SELECT *
FROM [Order]
WHERE mem_no IN (SELECT mem_no FROM [Member] WHERE gender = 'man')
--여러 행 확인
SELECT mem_no FROM [Member] WHERE gender = 'man'