10장문제 [여러 개의 테이블 이용하기]

MySQL & PHP 학습/연습문제 2016. 1. 22. 10:16

728x90
반응형

1. 테이블 tb에서 sales가 적은 순으로 순서를 매기고, number와 sales, 순위를 1번부터 순서대로 표시하시오.


hint!

10장 4.2 순위 정하기 1참고. 단, 여기서는 적은 순서대로 순위를 정해야 한다.



2. 다음 테이블 tb1과 tb를 참고로 테이블 tb1에 존재하는 레코드만 테이블 tb에서 추출하시오.


▶︎ tb(매출정보 테이블)

number

sales 

month 

A103 

101 

A102 

54 

A104 

181 

A101 

184 

A103 

17 

A101 

300 

A102 

205 

A104 

93 

A103 

12 

A107 

87 

여기에서


▶︎ tb1(사원정보 테이블)

number

name 

age 

A101 

강신우 

40 

A102 

김기덕 

28 

A103 

김민호 

20 

A104 

문소리 

23 

A105 

박문수 

35 

여기에 존재하는 것만


hint!

EXISTS 사용하기 (10장 5.7 EXISTS를 사용해서 존재하는 레코드를 대상으로 검색하기)


.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

1번 문제


다음 명령을 실행합니다.

SELECT a.number, a.sales, COUNT(*)

FROM tb AS a

JOIN tb AS b

WHERE a.sales>=b.sales

GROUP BY a.sales;



GROUP BY 는 오름차순 정렬을 합니다.



2번 문제


다음 명령을 실행합니다.

SELECT *

FROM tb

WHERE EXISTS

(SELECT * FROM tb1 WHERE tb.number=tb1.number);



테이블 tb1에서 A107이 존재하지 않기 때문에 A107은 표시되지 않습니다.

반응형