꺄르륵
[Oracle SQL Developer] 기초 IV - SELECT 문 본문
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)
'프로그래밍 > DB' 카테고리의 다른 글
[Oracle SQL Developer] 기초 V - 숫자 함수 (0) | 2019.10.08 |
---|---|
[Oracle SQL Developer] Import (0) | 2019.10.07 |
[Oracle SQL Developer] 기초 III - 숫자 자료형, 날짜 타입 (0) | 2019.10.07 |
[Oracle SQL Developer] 기초 II - DATA TYPE (0) | 2019.10.04 |
[Oracle SQL Developer] 기초 I - TABLE (0) | 2019.10.04 |