데이터 검색 명령(SELECT)
- 테이블의 자료를 추출할 때 사용
- SQL 명령 중 가장 많이 사용하는 명령
-- [](대괄호) : 생략 가능
(사용형식)
SELECT [DISTINCT] 컬럼명 | * [As 별칭][,]
컬럼명 [As 별칭][,]
:
컬럼명 [As 별칭][,]
-- 오류 : FORM을 찾을 수 없음 : ',', 별칭 확인
FROM 테이블명
[WHERE 조건]
[GROUP BY 컬럼명[,컬럼명,...]] -- 집계함수 : 합(SUM), 평균(AVG), 갯수(COUNT), 최댓값(MAX), 최솟값(MIN)
[HAVING 조건]
[ORDER BY 컬럼명|컬럼INDEX [ASC|DESC][,컬럼명|컬럼INDEX [ASC|DESC],...]]
-- ASC : 오름차순, 생략 가능 / DESC : 내림차순, 생략 불가
- SELECT 절 : 출력할 컬럼(COLUMN) 컬럼
- WHERE 절 : 출력할 행(ROW) 결정 -- 생략 가능, 생략되면 모든 행을 뜻함
- 'DISTINCT' : 컬럼 값 중 중복값을 배제시킴
- 'AS 별칭' : 컬럼에 부여된 또 다른 이름
- SELECT 문은 SELECT절, FROM절이 필수절임
- 실행순서 : FROM 절 >> WHERE 절 >> GROUP BY 절 >> HAVING 절 >> SELECT 절 >> ORDER BY 절
- 실행순서 변경 안됨
사용예) 회원테이블(MEMBER)의 모든 자료를 조회하시오
SELECT *
FROM MEMBER;
사용예) 회원테이블에서 '대전'에 거주하는 회원의 전화번호, 회원명, 직원, 마일리지를 조회하시오.
단, 마일리자가 많은 회원부터 출력
SELECT MEM_ID As 회원번호,
MEM_NAME As 회원명,
MEM_JOB As 직업,
MEM_MILEAGE As 마일리지
FROM MEMBER
WHERE MEM_ADD1 LIKE '대전%'
ORDER BY 4 DESC;
-- ORDER BY MEM_MILEAGE DESD; 로 작성 가능
사용예) 상품테이블(PROD)에서 분류별 상품의 종류를 조회하시오.
단, 출력은 분류번호 순으로 조회하시오.
SELECT A.PROD_LGU As 분류코드,
B.LPROD_NM AS 분류명,
COUNT(*) As "상품종류의 수" -- FROM 절 전에 공백을 쓰고 싶으면 ""로 묶기
FROM PROD A, LPROD B
WHERE A.PROD_LGU = B.LPROD_GU
GROUP BY A.PROD_LGU,B.LPROD_NM
ORDER BY 1;
사용예) 상품테이블(PROD)에서 불류별 상품의 종류를 조회하되 상품의 수가 10개 이상인 상품만 조회하시오.
단, 출력은 상품의 종류가 많은 분류부터 조회하시오.
SELECT A.PROD_LGU As 분류코드,
B.LPROD_NM AS 분류명,
COUNT(*) As "상품종류의 수"
FROM PROD A, LPROD B
WHERE A.PROD_LGU = B.LPROD_GU
GROUP BY A.PROD_LGU,B.LPROD_NM
HAVING COUNT(*)>=10
ORDER BY COUNT(*) DESC;
**테이블 TEMP01~TEMP10을 삭제하시오
DROP TABLE 테이블명;
DROP TABLE temp01;
DROP TABLE temp02;
DROP TABLE temp03;
DROP TABLE temp04;
DROP TABLE temp05;
DROP TABLE temp06;
DROP TABLE temp07;
DROP TABLE temp08;
DROP TABLE temp09;
DROP TABLE temp10;
COMMIT;
'DBMS' 카테고리의 다른 글
[DBMS/Oracle] 함수 (0) | 2023.03.15 |
---|---|
[DBMS/Oracle] 연산자 (0) | 2023.03.15 |
[DBMS/Oracle] 데이터 타입 (0) | 2023.03.14 |
[DBMS/Oracle] 데이터 삽입 (0) | 2023.03.14 |
[DBMS/Oracle] 테이블 생성 및 삭제 (0) | 2023.03.14 |