SQL 문법 순서
SELECT(마지막) 무엇을 불러올건지
FROM (1) 어디서
WHERE (2) 조건문
GROUP(3) 그룹별
HAVING(4) 가져온것 중에서 조건문
ORDER BY(5) 정렬
순서로 작성하면 된다.
SQL 문제
1) 급여가 400 이상인 사원 이름과 그 사원이 속한 부서이름을 검색하라
SELECT ename, dname
FROM dept, emp
WHERE dept.deptid = emp.deptid
AND salary >= 400;
2) ‘영업부’ 와’구매부’ 사원의 급여 합계를 검색하라
SELECT SUM(salary)
FROM dept, emp
WHERE dept.deptid = emp.deptid
AND dname IN ('영업부','구매부');
3) 가장 급여를 많이 받는 사원과 가장 적게 받는 사원의 급여액 차이는 얼마인지 검색하라
SELECT MAX(salary) - MIN(salary)
FROM emp;
4) ‘영업’ 사원 중 급여가 380 이상인 사원 이름, 담당업무, 급여액을 검색하라
SELECT ename, job, salary
FROM dept, emp
WHERE dept.deptid = emp.deptid
AND dname = '영업부'
AND salary >= 380;
문자열검색 % (0개이상) _ (1개문자열)
1) 장르가 코미디 이거나 드라마 인 영화제목, 장르를 검색하라(IN 사용)
--1번문제
SELECT 영화제목, 장르
FROM 영화
WHERE 장르 IN ('코미디','드라마');
2) 장르별 상영시간이 가장 긴 영화를 검색해라
--2번문제
SELECT 장르,MAX(상영시간)
FROM 영화
GROUP BY 장르;
3) 영화제목에 아저씨라는 단어가 들어가는 모든정보를 검색해라
--3번문제
SELECT *
FROM 영화
WHERE 영화제목 LIKE '%아저씨%';
( %abc% >> abc 앞뒤에 어떤문자열이 있든 상관없음 abc를 포함하고 있는것을 찾음.)
(like 는 = 이 아니라, 사전식으로 찾음 그래서 남발하면 속도가 느려짐)
4) 배우가 남자인 배우번호,이름을 검색하여 배우이름별로 오름차순 정렬해라
--4번문제
SELECT 배우번호,배우이름
FROM 배우
WHERE 성별 = '남'
ORDER BY 배우이름 ASC;
(order by 배우이름 asc => 배우이름을 오름차순으로 정렬 des는 내림차순으로 정렬)
5) 출연료가 500만원 이상,1000만원 이하인 영화코드,배우번호,출연료를 검색해라
--5번문제
SELECT 영화코드,배우번호,출연료
FROM 출연
WHERE 출연료 >= 500 AND 출연료 <= 1000;
WHERE 출연료 BETWEEN 500 AND 1000;
--6번문제
다음 SQL문법의 실행결과를 작성하고 간략히 설명
SELECT COUNT(장르),COUNT(DISTRICT 장르)
FROM 영화;
4,2 / DISTRICT은 결과값 중복제거
7) 차태현이 출현한 영화의 출연료를 검색해라
--7번문제
SELECT 출연료
FROM 배우,출연
WHERE 배우,배우번호 = 출연.배우번호
AND 배우이름 = '차태현';
SELECT 출연료
FROM 배우 INNER JOIN 출연
ON 배우.배우번호 = 츌연.배우번호
WEHRE 배우이름 ='차태현';
8) 영화 ‘키다리아저씨’를 장르는 스릴러, 관림기준은 15로 수정해라
--8번문제
UPDATE 영화
SET 장르 ='스릴러',관람기준 = 15
WHERE 영화제목 = '키다리아저씨';