상세 컨텐츠

본문 제목

[Oracle DB 입문 12] JOIN(1)

DataBase

by 코딩순이 2021. 3. 12. 20:14

본문

▶ Cartessian Product

 

-- Oracle
SELECT *
FROM LPROD, PROD;

-- ANSI 표준
SELECT *
FROM LPROD CROSS JOIN PROD;

▶ EQUI JOIN

-- 상품테이블에서 상품코드, 상품명, 분류명을 조회
-- 상품테이블 : PROD
-- 분류테이블 : LPROD

-- ORACLE
SELECT PROD_ID AS 상품코드
, PROD_NAME AS 상품명
, LPROD_NM AS 분류명
FROM PROD, LPROD
WHERE PROD_LGU = LPROD_GU;

--ANSI 표준
SELECT PROD_ID AS 상품코드
, PROD_NAME AS 상품명
, LPROD_NM AS 분류명
FROM PROD INNER JOIN LPROD ON (PROD_LGU = LPROD_GU);

-- 상품테이블에서 거래처가 '삼성전자'인 자료의 상품코드, 상품명, 거래처명을 조회

-- ORACLE
SELECT PROD_ID AS 상품코드
, PROD_NAME AS 상품명
, BUYER_NAME AS 거래처명
FROM PROD, BUYER
WHERE PROD_BUYER = BUYER_ID AND BUYER_NAME LIKE '삼성전자%';

-- ANSI 표준
SELECT PROD_ID AS 상품코드
, PROD_NAME AS 상품명
, BUYER_NAME AS 거래처명
FROM PROD INNER JOIN BUYER ON (PROD_BUYER = BUYER_ID)
WHERE BUYER_NAME LIKE '삼성전자%';

-- 상품테이블에서 상품코드, 상품명, 분류명, 거래처명, 거래처 주소를 조회
-- 1) 판매가격이 10만원 이하이고,
-- 2) 거래처 주소가 부산인 경우만 조회

--ORACLE
SELECT PROD_ID AS 상품코드
, PROD_NAME AS 상품명
, LPROD_NM AS 분류명
, BUYER_NAME AS 거래처명
, BUYER_ADD1 || ' ' || BUYER_ADD2 AS 거래처주소
FROM PROD, LPROD, BUYER
WHERE PROD_LGU = LPROD_GU AND PROD_BUYER = BUYER_ID
AND PROD_SALE <= 100000
AND BUYER_ADD1 LIKE '부산%';

--ANSI 표준
SELECT PROD_ID AS 상품코드
, PROD_NAME AS 상품명
, LPROD_NM AS 분류명
, BUYER_NAME AS 거래처명
, BUYER_ADD1 || ' ' || BUYER_ADD2 AS 거래처주소
FROM PROD INNER JOIN LPROD ON (PROD_LGU = LPROD_GU)
          INNER JOIN BUYER ON (PROD_BUYER = BUYER_ID)
WHERE PROD_SALE <= 100000 AND BUYER_ADD1 LIKE '부산%';

'DataBase' 카테고리의 다른 글

[Oracle DB 입문 11] 집계함수  (0) 2021.03.12
[Oracle DB 입문 10] SQL 함수  (0) 2021.03.09
[Oracle DB 입문 09] SQL 함수  (0) 2021.03.08
[Oracle DB 입문 08] SQL 예제  (0) 2021.03.05
[Oracle DB 입문 07] SQL 예제  (0) 2021.03.03

관련글 더보기