DBMS

[DBMS/Oracle] 데이터 검색 명령(SELECT)

elog 2023. 3. 14. 18:00

[DBMS/Oracle] 데이터 검색 명령(SELECT)
[DBMS/Oracle] 데이터 검색 명령(SELECT)

데이터 검색 명령(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