메뉴 건너뛰기

조회 수 137 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

 

 

-- 2007년에 등록한 학생에 대한 학번, 년도, 학기, 장학금액, 납부총액(등록금-장학금),

-- 납부금비율(납부총액/등록금*100), %를 출력하시오 

 

 

SELECT * FROM FEE;

 

SELECT STU_NO, FEE_YEAR, FEE_TERM, (FEE_TOTAL-JANG_TOTAL) AS '납부총액', ((FEE_TOTAL-JANG_TOTAL)/FEE_TOTAL*100) AS '납부금비율'

FROM FEE

WHERE FEE_YEAR = 2007;

 

-- 등록 테이블에서 등록년도가 2006년인 학생의 학번, 이름을 출력하라

 

SELECT S.STU_NO, S.STU_NAME

FROM FEE F, STUDENT S

WHERE F.STU_NO=S.STU_NO

AND FEE_YEAR=2006;

 

 

-- 등록테이블에서 2006년과 2007년에 등록한 모든 학생의 학번 , 이름 , 등록년도를 출력하라 

 

SELECT DISTINCT S.STU_NO, S.STU_NAME, F.FEE_YEAR

FROM FEE F, STUDENT S

WHERE F.STU_NO=S.STU_NO

AND (F.FEE_YEAR =2006 OR F.FEE_YEAR =2007);

 

 

SELECT DISTINCT S.STU_NO, S.STU_NAME, F.FEE_YEAR

FROM FEE F, STUDENT S

WHERE F.STU_NO=S.STU_NO

AND F.FEE_YEAR IN (2006,2007);

 

 

 

-- 학적테이블에서 휴대폰번호가 서로 다른 학생의 휴대폰 번호를 출력하라 

 

SELECT DISTINCT S1.PHONE_NO

FROM STUDENT S1 ,STUDENT S2

WHERE S1.PHONE_NO <> S2.PHONE_NO

OR S1.PHONE_NO IS NULL;

 

 

 

 

-- 학적테이블에서 휴대폰번호가 서로 다른 학생의 휴대폰 번호를 출력하라 

-- (단 휴대폰이 없는 학생은 휴대폰없음으로 출력하라 )

 

SELECT DISTINCT ifnull(S1.PHONE_NO,"휴대폰없음") 

FROM STUDENT S1 ,STUDENT S2

WHERE S1.PHONE_NO <> S2.PHONE_NO

OR S1.PHONE_NO IS NULL;

 

 

 

 

-- 학생테이블에 전체 학생수는?

 

SELECT COUNT(*) FROM STUDENT;

 

-- 성별이 남자인 학생은 몇명인가?

 

SELECT COUNT(*) FROM STUDENT WHERE substring(ID_NUM,8,1)=1;

 

 

-- 2학년인 학생의 수는 얼마나 되는가 ?

 

SELECT COUNT(*) FROM STUDENT WHERE GRADE = 2;

 

 

-- 휴대폰을 가지고 있는 학생의 수는 얼마나 되는가?

 

 

SELECT COUNT(*) FROM STUDENT WHERE PHONE_NO IS NOT NULL;

 

 

-- BAN 열에는 서로 다른 반이 얼마나 되는가?

 

 

SELECT COUNT(DISTINCT CLASS) FROM STUDENT;

 

-- 주민등록번호의 앞 두 자리의 값이 서로 다른 숫자를 가지는 것은 몇 명인가

-- (즉, 태어난 연도가 서로 다른 경우의 수를 나타내어라 )

 

 

SELECT COUNT(DISTINCT substring(ID_NUM,1,2)) FROM STUDENT;

 

 

-- 학생 테이블에 나타난 서로 다른 학과 코드의 수

 

 

SELECT COUNT(DISTINCT DEPT_CODE) FROM STUDENT;

 

 

-- 서로 다른 입학년도의 총 연도 개수와 성별의 수를 출력하라 

 

SELECT COUNT(DISTINCT substring(STU_NO,1,4)),COUNT(DISTINCT substring(ID_NUM,8,1)) FROM STUDENT;

 

 

-- 납부총액중 가장 많은 등록금을 출력하라 

 

SELECT MAX(FEE_PAY) FROM FEE;

 

 

-- 여학생 중에서 등록금을 가장 적게 납부한 등록금은 얼마인가?

 

SELECT MIN(F.FEE_PAY) 

FROM FEE F, STUDENT S

WHERE F.STU_NO=S.STU_NO

AND substring(S.ID_NUM,8,1)=2;

 

 

SELECT MIN(FEE_PAY) 

FROM FEE

WHERE STU_NO IN

(SELECT STU_NO FROM STUDENT WHERE substring(ID_NUM,8,1)=2); 

 

 

 

 

-- 최대로 납부한 등록금과 동일한 등록금을 납부한 행의 수는?

 

 

SELECT COUNT(*) 

FROM FEE

WHERE FEE_PAY

=

(SELECT MAX(FEE_PAY) FROM FEE);

 

 

-- 최대로 납부한 등록금과 동일한 등록금을 납부한 학생의 수는?

 

SELECT COUNT(DISTINCT STU_NO) 

FROM FEE

WHERE FEE_PAY

=

(SELECT MAX(FEE_PAY) FROM FEE);

 

 

-- 등록한 학생중 학생별로 가장 많은 등록금을 납부했을 때 , 학생의 학번, 등록년도, 학기, 납부총액을 출력하라. 단, 출력 순서는 학번, 등록년도, 학기 오름차순이다. 

????

 SELECT STU_NO, SUBSTRING(STU_NO,1,4), FEE_TERM, FEE_TOTAL

 FROM FEE

 ;

 

 ????

 SELECT F.STU_NO, SUBSTRING(F.STU_NO,1,4),  F.FEE_TERM,  MAX(F.FEE_TOTAL) 

 FROM FEE F , FEE F1

 WHERE F.STU_NO=F1.STU_NO

 GROUP BY STU_NO

 ;

 

 ...?

 SELECT F.STU_NO, SUBSTRING(F.STU_NO,1,4),  F.FEE_TERM,  MAX(F.FEE_TOTAL) 

 FROM FEE F , FEE F1

 WHERE F.STU_NO=F1.STU_NO;

 

 

-- 등록금을 납부한 학생 중  최대 등록금과 최소 등록금, 최대-최소간의 차이는 얼마인가?

 

 

SELECT MAX(FEE_PAY)-MIN(FEE_PAY) FROM FEE;

 

-- 영문이름 중 알파벳 순서로 가장 큰 값(마지막)을 나타나는 이름의 첫 문자를 출력하라

 

 

SELECT STU_ENAME 

FROM STUDENT

WHERE substring(STU_ENAME,1,1)

IN

(SELECT MAX(substring(STU_ENAME,1,1)) FROM STUDENT);

 

 

-- 박정인 학생이 재학중 받은 전체 장학금의 총액은 마인가?

 

SELECT SUM(JANG_TOTAL)

FROM FEE F, STUDENT S

WHERE F.STU_NO=S.STU_NO

AND S.STU_NAME='박정인';

 

 

-- 학번 20061011 학생이 받은 장학금의 평균을 계산하라 

SELECT AVG(JANG_TOTAL) FROM FEE WHERE STU_NO=20061011;

 

 

-- 동일한 등록금 납부총액을 제외한 등록금 납부총액의 평균은 얼마인가?

 

SELECT AVG(F.FEE_TOTAL)

FROM FEE F, FEE F1

WHERE F.FEE_TOTAL <>F1.FEE_TOTAL;

 

 

-- 평균 장학금 보다 더 많은 장학금을 받은 학생의 학번과 장학금을 출력하라

 

SELECT DISTINCT STU_NO, JANG_TOTAL 

FROM FEE

WHERE JANG_TOTAL

>(SELECT AVG(JANG_TOTAL) FROM FEE);

 

 

-- 영문이름의 평균 길이(문자수)와 이름의 최대 길이는 얼마인가?

 

SELECT AVG(length(STU_ENAME)), MAX(length(STU_ENAME)) FROM STUDENT; 

 

-- 입학금의 평균을 AVG 함수와 산술평균(입학금의 전체 합/전체 행의 수)을 구하여라 

 

SELECT AVG(FEE_ENTER), (SUM(FEE_ENTER)/COUNT(*)) FROM FEE;

 

 

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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
-- 2007년에 등록한 학생에 대한 학번, 년도, 학기, 장학금액, 납부총액(등록금-장학금),
-- 납부금비율(납부총액/등록금*100), %를 출력하시오 
 
 
SELECT * FROM FEE;
 
SELECT STU_NO, FEE_YEAR, FEE_TERM, (FEE_TOTAL-JANG_TOTAL) AS '납부총액', ((FEE_TOTAL-JANG_TOTAL)/FEE_TOTAL*100) AS '납부금비율'
FROM FEE
WHERE FEE_YEAR = 2007;
 
-- 등록 테이블에서 등록년도가 2006년인 학생의 학번, 이름을 출력하라
 
SELECT S.STU_NO, S.STU_NAME
FROM FEE F, STUDENT S
WHERE F.STU_NO=S.STU_NO
AND FEE_YEAR=2006;
 
 
-- 등록테이블에서 2006년과 2007년에 등록한 모든 학생의 학번 , 이름 , 등록년도를 출력하라 
 
SELECT DISTINCT S.STU_NO, S.STU_NAME, F.FEE_YEAR
FROM FEE F, STUDENT S
WHERE F.STU_NO=S.STU_NO
AND (F.FEE_YEAR =2006 OR F.FEE_YEAR =2007);
 
 
SELECT DISTINCT S.STU_NO, S.STU_NAME, F.FEE_YEAR
FROM FEE F, STUDENT S
WHERE F.STU_NO=S.STU_NO
AND F.FEE_YEAR IN (2006,2007);
 
 
 
-- 학적테이블에서 휴대폰번호가 서로 다른 학생의 휴대폰 번호를 출력하라 
 
SELECT DISTINCT S1.PHONE_NO
FROM STUDENT S1 ,STUDENT S2
WHERE S1.PHONE_NO <> S2.PHONE_NO
OR S1.PHONE_NO IS NULL;
 
 
 
 
-- 학적테이블에서 휴대폰번호가 서로 다른 학생의 휴대폰 번호를 출력하라 
-- (단 휴대폰이 없는 학생은 휴대폰없음으로 출력하라 )
 
SELECT DISTINCT ifnull(S1.PHONE_NO,"휴대폰없음"
FROM STUDENT S1 ,STUDENT S2
WHERE S1.PHONE_NO <> S2.PHONE_NO
OR S1.PHONE_NO IS NULL;
 
 
 
 
-- 학생테이블에 전체 학생수는?
 
SELECT COUNT(*FROM STUDENT;
 
-- 성별이 남자인 학생은 몇명인가?
 
SELECT COUNT(*FROM STUDENT WHERE substring(ID_NUM,8,1)=1;
 
 
-- 2학년인 학생의 수는 얼마나 되는가 ?
 
SELECT COUNT(*FROM STUDENT WHERE GRADE = 2;
 
 
-- 휴대폰을 가지고 있는 학생의 수는 얼마나 되는가?
 
 
SELECT COUNT(*FROM STUDENT WHERE PHONE_NO IS NOT NULL;
 
 
-- BAN 열에는 서로 다른 반이 얼마나 되는가?
 
 
SELECT COUNT(DISTINCT CLASS) FROM STUDENT;
 
-- 주민등록번호의 앞 두 자리의 값이 서로 다른 숫자를 가지는 것은 몇 명인가
-- (즉, 태어난 연도가 서로 다른 경우의 수를 나타내어라 )
 
 
SELECT COUNT(DISTINCT substring(ID_NUM,1,2)) FROM STUDENT;
 
 
-- 학생 테이블에 나타난 서로 다른 학과 코드의 수
 
 
SELECT COUNT(DISTINCT DEPT_CODE) FROM STUDENT;
 
 
-- 서로 다른 입학년도의 총 연도 개수와 성별의 수를 출력하라 
 
SELECT COUNT(DISTINCT substring(STU_NO,1,4)),COUNT(DISTINCT substring(ID_NUM,8,1)) FROM STUDENT;
 
 
-- 납부총액중 가장 많은 등록금을 출력하라 
 
SELECT MAX(FEE_PAY) FROM FEE;
 
 
-- 여학생 중에서 등록금을 가장 적게 납부한 등록금은 얼마인가?
 
SELECT MIN(F.FEE_PAY) 
FROM FEE F, STUDENT S
WHERE F.STU_NO=S.STU_NO
AND substring(S.ID_NUM,8,1)=2;
 
 
SELECT MIN(FEE_PAY) 
FROM FEE
WHERE STU_NO IN
(SELECT STU_NO FROM STUDENT WHERE substring(ID_NUM,8,1)=2); 
 
 
 
 
-- 최대로 납부한 등록금과 동일한 등록금을 납부한 행의 수는?
 
 
SELECT COUNT(*
FROM FEE
WHERE FEE_PAY
=
(SELECT MAX(FEE_PAY) FROM FEE);
 
 
-- 최대로 납부한 등록금과 동일한 등록금을 납부한 학생의 수는?
 
SELECT COUNT(DISTINCT STU_NO) 
FROM FEE
WHERE FEE_PAY
=
(SELECT MAX(FEE_PAY) FROM FEE);
 
 
-- 등록한 학생중 학생별로 가장 많은 등록금을 납부했을 때 , 학생의 학번, 등록년도, 학기, 납부총액을 출력하라. 단, 출력 순서는 학번, 등록년도, 학기 오름차순이다. 
????
 SELECT STU_NO, SUBSTRING(STU_NO,1,4), FEE_TERM, FEE_TOTAL
 FROM FEE
 ;
 
 ????
 SELECT F.STU_NO, SUBSTRING(F.STU_NO,1,4),  F.FEE_TERM,  MAX(F.FEE_TOTAL) 
 FROM FEE F , FEE F1
 WHERE F.STU_NO=F1.STU_NO
 GROUP BY STU_NO
 ;
 
 ...?
 SELECT F.STU_NO, SUBSTRING(F.STU_NO,1,4),  F.FEE_TERM,  MAX(F.FEE_TOTAL) 
 FROM FEE F , FEE F1
 WHERE F.STU_NO=F1.STU_NO;
 
 
-- 등록금을 납부한 학생 중  최대 등록금과 최소 등록금, 최대-최소간의 차이는 얼마인가?
 
 
SELECT MAX(FEE_PAY)-MIN(FEE_PAY) FROM FEE;
 
-- 영문이름 중 알파벳 순서로 가장 큰 값(마지막)을 나타나는 이름의 첫 문자를 출력하라
 
 
SELECT STU_ENAME 
FROM STUDENT
WHERE substring(STU_ENAME,1,1)
IN
(SELECT MAX(substring(STU_ENAME,1,1)) FROM STUDENT);
 
 
-- 박정인 학생이 재학중 받은 전체 장학금의 총액은 마인가?
 
SELECT SUM(JANG_TOTAL)
FROM FEE F, STUDENT S
WHERE F.STU_NO=S.STU_NO
AND S.STU_NAME='박정인';
 
 
-- 학번 20061011 학생이 받은 장학금의 평균을 계산하라 
SELECT AVG(JANG_TOTAL) FROM FEE WHERE STU_NO=20061011;
 
 
-- 동일한 등록금 납부총액을 제외한 등록금 납부총액의 평균은 얼마인가?
 
SELECT AVG(F.FEE_TOTAL)
FROM FEE F, FEE F1
WHERE F.FEE_TOTAL <>F1.FEE_TOTAL;
 
 
-- 평균 장학금 보다 더 많은 장학금을 받은 학생의 학번과 장학금을 출력하라
 
SELECT DISTINCT STU_NO, JANG_TOTAL 
FROM FEE
WHERE JANG_TOTAL
>(SELECT AVG(JANG_TOTAL) FROM FEE);
 
 
-- 영문이름의 평균 길이(문자수)와 이름의 최대 길이는 얼마인가?
 
SELECT AVG(length(STU_ENAME)), MAX(length(STU_ENAME)) FROM STUDENT; 
 
-- 입학금의 평균을 AVG 함수와 산술평균(입학금의 전체 합/전체 행의 수)을 구하여라 
 
SELECT AVG(FEE_ENTER), (SUM(FEE_ENTER)/C

 


List of Articles
번호 제목 날짜 조회 수
66 MYSQL 트리거 중첩트리거 file 2021.03.27 261
» MYSQL 통계 함수 SUM AVG MAX MIN 예제 문제 5 file 2021.03.27 137
64 MySQL 클라이언트/서버 프로토콜 2018.07.18 2750
63 MySQL 쿼리 결과 값 세로로 보기 2017.04.12 6053
62 MySQL 최적화 방법 설명 2014.02.27 8022
61 MySQL 중복 데이터 찾아서 삭제하기 2019.01.11 1949
60 MySql 의 Trigger(트리거) 로 정보 업데이트 file 2016.08.30 10153
59 MySql 윈도우에서 DB dump 백업과 복구하기 file 2016.08.30 8475
58 MySQL 연결 속도 2017.12.28 3917
57 MySQL 에서 테이블에 이미 존재하는 값으로 UPDATE 하는 경우 file 2018.07.18 1533
56 MySql 에서 외래키(FK) 설정하는 방법과 Toad 에서 확인하기 file 2016.08.30 7145
55 MySQL 에서 랜덤(random)으로 레코드 읽어오기 2017.04.12 5727
54 mySQL 에서 날자표현 방법 2017.04.12 5365
53 MySQL 에서 NULL 값 처리 file 2016.08.30 6423
52 MySQL 암호화 방법 2020.11.25 360
51 MySQL 손상된 테이블 복구 2017.04.12 5330
50 MySQL 서버 데몬이 죽었을때 다시 실행하는 방법 2016.08.30 5842
49 MYSQL 부속질의어 예제&문제 9 file 2021.03.27 134
48 MySql 문자열 합치기 2014.02.27 6254
47 MySQL 마스터/마스터 replication 에서 AUTO_INCREMENT 문제 해결 방법 2018.07.18 1940
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved