Computer Science/정보처리기사

SQL - SELECT 문 활용하기

minjiwoo 2022. 9. 11. 22:04
728x90

사원 테이블의 모든 튜플 검색하기 

SELECT * FROM 사원;
SELECT 사원.* FROM 사원;
SELECT 이름, 부서, 생일, 주소, 기본급 FROM 사원;
SELECT 사원.이름, 사원.부서, 사원.생일, 사원.주소, 사원.기본급 FROM 사원;

주소는 한번씩만 출력하기 

SELECT DISTINCT 주소
FROM 사원
SELECT 부서 + '부서의' AS 부서2, 이름 + '의 월급' AS 이름2, 기본급 + 10 AS 기본급2
FROM 사원;

사원 테이블에서 성이 '김' 인 사람의 튜플 검색

SELECT *
FROM 사원 
WHERE 이름 LIKE "김%";

 

SELECT *
FROM 사원
WHERE 생일 BETWEEN #01/01/69# AND #12/31/73#;

 

* 정렬 검색 -> ORDER BY 사용 

SELCT TOP 2 *
FROM 사원 
ORDER BY 주소 DESC;

상위 2 개 튜플만 검색하는 쿼리 

SELECT *
FROM 사원
ORDER BY 부서 ASC, 이름 DESC;

부서를 기준으로 오름차순 정렬, 같은 부서에 대해서 이름을 기준으로 내림차순 정렬 

6. 하위 질의 
조건절에 주어진 질의를 먼저 수행하여 그 검색 결과를 조건절의 피연산자로 사용한다. 

SELECT 이름, 주소
FROM 사원
WHERE 이름 = (SELECT 이름 FROM 여가활동 WHERE 취미 = '나이트댄스');

7. 복수 테이블 검색 

SELECT 사원.이름, 사원.부서, 여가활동.취미, 여가활동.경력
FROM 사원, 여가활동
WHERE 여가활동.경력 >= 10 AND 사원.이름 = 여가활동.이름;

#1 

SELECT 학번, 이름 
FROM 학생
WHERE 학년 IN (3,4);

#2

SELECT * FROM 수강 WHERE 과목명 = "DB"
ORDER BY 기말성적 DESC, 중간성적;

#4

SELECT DISTINCT name
FROM Shop
WHERE id IN (
			SELECT shopid
			FROM Staff
            WHERE id = 10);

#5

SELECT name
FROM Product
WHERE price IS NULL
ORDER BY name;

#6 

SELECT pid
FROM Sale
WHERE psale BETWEEN 10 AND 20;

WHERE psale >= 10 and psale <= 20;

 #7

SELECT DISTINCT 과목
FROM 학생
WHERE 학년 >= 3 AND 점수 >= 80;

중복제거를 하기 위해서 DISTINCT 예약어를 붙여야 함 
# 8 

SELECT 학생정보.학번, 이름, 결제여부
FROM 학생정보, 신청정보, 결제
WHERE 학생정보.학번 = 신청정보.학번
	 AND 신청정보.신청번호 = 결제.신청번호 
     AND 신청과목 = 'OpenGL';

AND 구문을 통해서 조건을 추가할 수 있다. 
테이블 2개이상 선택 가능하다. 

# 9 

SELECT ID, NAME
FROM CUSTOMER;

SELECT DISTINCT GRADE
FROM CUSTOMER;

SELECT *
FROM CUSTOMER 
ORDER BY ID DESC;

SELECT NAME
FROM CUSTOMER
WHERE AGE IS NULL;

SELECT NAME
FROM CUSTOMER
WHERE AGE IS NOT NULL;


# 10 

SELECT 사원명 
FROM 회사원 
WHERE 연락번호 IS NOT NULL;
728x90