Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

꺄르륵

[Oracle SQL Developer] 기초 IV - SELECT 문 본문

프로그래밍/DB

[Oracle SQL Developer] 기초 IV - SELECT 문

Teddy. 2019. 10. 7. 12:56

1. SELECT 문


1.1. 자료검색에 사용한다.


1.2. 사용형식

SELECT [DISTINCT] 컬럼명 [[AS] ["]별칭["]][ * ,... -- * 은 모든 컬럼을 포함하라는 의미이다.
 -- DISTINCT : 중복을 배제하고 조회한다.
  FROM 테이블명 [별칭],...
 [WHERE 조건 -- 일반 조건
  [AND|OR 조건]]
 [GROUP BY 컬럼명[,컬럼명,...]]
 [HAVING 조건] -- 집계 함수의 조건을 부여하는 경우 COUNT, SUM, AVG, MAXIMUM, MINIMUM
 [ORDER BY 컬럼명|컬럼인덱스,...[ASC|DESC]] -- 컬럼명 대신 1,2,3,.. 등으로 컬럼의 순서로 호출가능, ASC 오름차순, DESC 내림차순 DEFAULT ASC)
 

 
  예시) 1. 상품분류테이블의 모든데이터를 조회하시오.
  SELECT * 
    FROM LPROD;
    
  예시) 2. 상품분류테이블에서 분류코드가 'P400' 보다 작은 데이터를 조회하시오.  
  SELECT TBA.LPROD_ID AS "순번",
         TBA.LPROD_GU AS 분류코드,
         TBA.LPROD_NM     분류명
    FROM LPROD TBA
   WHERE TBA.LPROD_GU < 'P400'; 
   
  예시) 3. 2005년 6월 회원별 구매금액 합계가 80만원 이상인 회원을 조회하시오. 단, Alias는 회원번호, 회원명, 구매금액합계
  
  SELECT A.MEM_ID AS 회원번호,
         A.MEM_NAME AS 회원명,
         SUM(B.CART_QTY * C.PROD_PRICE) AS 구매금액합계
    FROM MEMBER A, CART B, PROD C
   WHERE CART_NO LIKE '200506%'
     AND A.MEM_ID = B.CART_MEMBER
     AND B.CART_PROD = C.PROD_ID
   GROUP BY A.MEM_ID, A.MEM_NAME
   HAVING SUM(B.CART_QTY * C.PROD_PRICE) >= 800000
   ORDER BY 1;   
   
  예시) 4. 상품테이블에서 상품코드, 상품명, 매입가격, 마일리지를 조회하시오.
  
  SELECT A.PROD_ID 상품코드, 
         A.PROD_NAME 상품명,
         A.PROD_COST 매입가격, 
         A.PROD_MILEAGE 마일리지
    FROM PROD A;
    
  예시) 5. 상품테이블에서 판매가격이 10만원 이상인 상품 정보를 조회하시오. 
          단, Alias는 상품코드, 상품명, 매입가격, 마일리지를 조회하시오.  
          " "는 허용되지 않는 문자를 사용할 경우 필히 입력해준다. EX. 공백
    
   SELECT A.PROD_ID "상품 코드", 
          A.PROD_NAME 상품명,
          A.PROD_COST 매입가격, 
          A.PROD_MILEAGE 마일리지
     FROM PROD A
    WHERE A.PROD_PRICE >= 100000; 
    
  예시) 6. 상품테이블에서 상품분류번호를 조회하시오.
  SELECT PROD_LGU 상품분류번호
    FROM PROD;
    
  SELECT DISTINCT PROD_LGU 상품분류번호
    FROM PROD
    ORDER BY PROD_LGU; -- 정렬하기 PROD_LGU 대신 1을 작성해도 똑같이 출력된다. DESC를 쓰면 역순으로 출력됨.
    

 


1.2.1. 실행순서 
 : SELECT 절 (마지막으로 실행된다.)
 : FROM 절 (실행순서 1)
 : WHERE 절 (WHERE절이 존재한다면 실행순서 2)