일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자동형변환
- Java
- 싱글턴
- unboxing
- boxing
- 클래스
- 제너릭
- 루프
- 컬렉션
- start.spring.io
- https://start.spring.io
- 콜렉션
- 빌드
- bootstrap
- Scanner
- 내장객체
- Jenkins
- 박싱
- maven
- 메소드
- 인텔리제이
- Short
- 제네릭
- suvlet
- 싱글톤
- dependency
- 언박싱
- 무한
- 스프링
- wrapper
Archives
- Today
- Total
Developer Gonie
[6주차] 22. 교집합 조인 (inner 조인 = natural 조인)*** 본문
K-DigitalTraining 강의/2. Oracle + PLSQL
[6주차] 22. 교집합 조인 (inner 조인 = natural 조인)***
이대곤 2022. 6. 15. 12:11예제 연습전 테이블 생성 및 데이터 삽입
-- 예제 연습전 테이블 생성 및 데이터 삽입
drop table producer;
create table producer(
p_code varchar2(10) primary key,
p_name varchar2(10),
p_price number
);
drop table consumer;
create table consumer(
c_code varchar2(10) primary key,
c_name varchar2(10),
c_price number,
c_addr varchar2(10)
);
insert into producer values('A01', '운동화', 1000);
insert into producer values('A02', '원피스', 2000);
insert into producer values('A03', '바지', 3000);
insert into producer values('A05', '가방', 4000);
insert into consumer values('A01', '전지현', 1100, '서울');
insert into consumer values('A02', '김수현', 2100, '부산');
insert into consumer values('A03', '아이유', 3100, '제주');
insert into consumer values('A04', '태연', 3100,'제주');
inner join 키워드를 사용하지 않고 교집합 조인을 수행하는 방법
select p_code, p_name, c_name, c_addr
from producer, consumer
where p_code = c_code;
두 테이블에 같은 컬럼이름이 존재할 경우 교집합 조인을 수행하는 4가지 방법
* 아래 쿼리들의 결과는 모두 동일함
* 테이블의 별칭 사용시 'as' 키워드는 사용하면 안됨
* 공통되는 컬럼을 맨 앞에 위치시킬 필요는 없음
* 자동으로 공통되는걸 찾는 natural 조인을 제외하고는,
select 오른편 필드 나열시 공통된 컬럼명에 대해서는 꼭 어느 테이블의 컬럼을 사용할 지 명시해줘야 한다.
alter table producer rename column p_code to code;
alter table consumer rename column c_code to code;
--1. 테이블의 별칭을 사용하지 않고 inner 조인을 수행하는 예시
select producer.code, p_name, c_name, c_addr
from producer, consumer
where producer.code = consumer.code;
--2. 테이블의 별칭을 사용하여 inner 조인을 수행하는 예시
select pro.code, p_name, c_name, c_addr
from producer pro, consumer con
where pro.code = con.code;
--3. (inner join 사용, where 대신 on을 사용하여 inner 조인을 수행하는 예시
select pro.code, p_name, c_name, c_addr
from producer pro inner join consumer con
on pro.code = con.code;
select con.code, p_name, c_name, c_addr
from producer pro inner join consumer con
on pro.code = con.code;
--4. natural join을 사용하여 교집합 조인, 양쪽 테이블의 모든 공통되는 컬럼을 조건으로 교집합 조인을 수행
-- 공통되는걸 알아서 찾기 때문에 별칭을 사용하지 않아야 한다. 안그럼 에러발생
select code, p_name, c_name, c_addr
from producer natural join consumer;
'K-DigitalTraining 강의 > 2. Oracle + PLSQL' 카테고리의 다른 글
[6주차] 24. 셀프 조인 (0) | 2022.06.15 |
---|---|
[6주차] 23. 합집합 조인 (left, right, full outer 조인)*** (0) | 2022.06.15 |
[6주차] 21. where, group by, having, order by 전부 사용시 입력순서* (0) | 2022.06.15 |
[6주차] 20. having 사용법(조건으로 그룹함수를 필요로 하는 경우)*** (0) | 2022.06.15 |
[6주차] 19. group by 사용법(그룹함수와 같이 조회되는 일반 컬럼이 존재하는 경우)*** (0) | 2022.06.14 |
Comments