[SQL] 집합 연산자 - INTERSECT

·2025년 7월 8일
0

SQL

목록 보기
84/126

select ename, sal, job, deptno
 from emp
 where deptno in ( 10, 20 )
intersect 
select ename, sal, job, deptno
 from emp
 where deptno in ( 20, 30 );

문제1. 다음의 2개의 데이터를 내려 받으시오

https://drive.google.com/file/d/1-AN3V1RrIPtNgSSBDn6EVANnbfJc5MQI/view?usp=share_link

https://drive.google.com/file/d/1-5yJs7WXopmnDpBKtIVSkKaVOoBDONf9/view?usp=share_link

문제2. 다음의 2개의 테이블을 각각 만드시오

CREATE TABLE  market_2022
( 상가업소번호 VARCHAR2(200 BYTE), 
상호명 VARCHAR2(200 BYTE), 
지점명 VARCHAR2(200 BYTE), 
상권업종대분류코드 VARCHAR2(200 BYTE), 
상권업종대분류명 VARCHAR2(200 BYTE), 
상권업종중분류코드 VARCHAR2(200 BYTE), 
상권업종중분류명 VARCHAR2(200 BYTE), 
상권업종소분류코드 VARCHAR2(200 BYTE), 
상권업종소분류명 VARCHAR2(200 BYTE), 
표준산업분류코드 VARCHAR2(200 BYTE), 
표준산업분류명 VARCHAR2(200 BYTE), 
시도코드 VARCHAR2(200 BYTE), 
시도명 VARCHAR2(200 BYTE), 
시군구코드 VARCHAR2(200 BYTE), 
시군구명 VARCHAR2(200 BYTE), 
행정동코드 VARCHAR2(200 BYTE), 
행정동명 VARCHAR2(200 BYTE), 
법정동코드 VARCHAR2(200 BYTE), 
법정동명 VARCHAR2(200 BYTE), 
지번코드 VARCHAR2(200 BYTE), 
대지구분코드 VARCHAR2(200 BYTE), 
대지구분명 VARCHAR2(200 BYTE), 
지번본번지 VARCHAR2(200 BYTE), 
지번부번지 VARCHAR2(200 BYTE), 
지번주소 VARCHAR2(200 BYTE), 
도로명코드 VARCHAR2(200 BYTE), 
도로명 VARCHAR2(200 BYTE), 
건물본번지 VARCHAR2(200 BYTE), 
건물부번지 VARCHAR2(200 BYTE), 
건물관리번호 VARCHAR2(200 BYTE), 
건물명 VARCHAR2(200 BYTE), 
도로명주소 VARCHAR2(200 BYTE), 
구우편번호 VARCHAR2(200 BYTE), 
신우편번호 VARCHAR2(200 BYTE), 
동정보 VARCHAR2(200 BYTE), 
층정보 VARCHAR2(200 BYTE), 
호정보 VARCHAR2(200 BYTE), 
경도 VARCHAR2(200 BYTE), 
위도 VARCHAR2(200 BYTE)
   ) ;
CREATE TABLE  market_2017
( 상가업소번호 VARCHAR2(200 BYTE), 
상호명 VARCHAR2(200 BYTE), 
지점명 VARCHAR2(200 BYTE), 
상권업종대분류코드 VARCHAR2(200 BYTE), 
상권업종대분류명 VARCHAR2(200 BYTE), 
상권업종중분류코드 VARCHAR2(200 BYTE), 
상권업종중분류명 VARCHAR2(200 BYTE), 
상권업종소분류코드 VARCHAR2(200 BYTE), 
상권업종소분류명 VARCHAR2(200 BYTE), 
표준산업분류코드 VARCHAR2(200 BYTE), 
표준산업분류명 VARCHAR2(200 BYTE), 
시도코드 VARCHAR2(200 BYTE), 
시도명 VARCHAR2(200 BYTE), 
시군구코드 VARCHAR2(200 BYTE), 
시군구명 VARCHAR2(200 BYTE), 
행정동코드 VARCHAR2(200 BYTE), 
행정동명 VARCHAR2(200 BYTE), 
법정동코드 VARCHAR2(200 BYTE), 
법정동명 VARCHAR2(200 BYTE), 
지번코드 VARCHAR2(200 BYTE), 
대지구분코드 VARCHAR2(200 BYTE), 
대지구분명 VARCHAR2(200 BYTE), 
지번본번지 VARCHAR2(200 BYTE), 
지번부번지 VARCHAR2(200 BYTE), 
지번주소 VARCHAR2(200 BYTE), 
도로명코드 VARCHAR2(200 BYTE), 
도로명 VARCHAR2(200 BYTE), 
건물본번지 VARCHAR2(200 BYTE), 
건물부번지 VARCHAR2(200 BYTE), 
건물관리번호 VARCHAR2(200 BYTE), 
건물명 VARCHAR2(200 BYTE), 
도로명주소 VARCHAR2(200 BYTE), 
구우편번호 VARCHAR2(200 BYTE), 
신우편번호 VARCHAR2(200 BYTE), 
동정보 VARCHAR2(200 BYTE), 
층정보 VARCHAR2(200 BYTE), 
호정보 VARCHAR2(200 BYTE), 
경도 VARCHAR2(200 BYTE), 
위도 VARCHAR2(200 BYTE)
   ) ;

문제3. emp 테이블과 dept 테이블 두군데 전부 존재하는 부서번호를 출력하시오

select deptno
 from emp
intersect
select deptno
 from dept;

문제4. 다운로드 받은 market_2017.csv 의 데이터를 market_2017 테이블에 입력하시오

문제5. 2017년도에 서울시에 카페베네라는 상호명의 갯수가 몇개가 있는지 출력하시오

select count(*)
 from market_2017
 where 상호명 like '%카페베네%' and 시도명='서울특별시';

문제6. 2022년도에 서울시에 카페베네라는 상호명의 갯수가 몇개가 있는지 출력하시오

select count(*)
 from market_2022
 where 상호명 like '%카페베네%'
  and 시도명='서울특별시';

문제7. 2017년도에 있었던 카페베네 매장인데 2022년도에도 폐업하지 않고 존재하는 카페베네 매장의 상가업소번호와 상호명과 지점명을 출력하시오

select 상가업소번호, 상호명, 지점명
 from market_2017
 where 상호명 like '%카페베네%' and 시도명 ='서울특별시'
intersect
select 상가업소번호, 상호명, 지점명
 from market_2022
 where 상호명 like '%카페베네%' and 시도명 ='서울특별시';
 
select 상가업소번호, 상호명, 지점명
 from market_2017
 where 상호명 like '%카페베네%'  and 시도명 ='서울특별시'
 intersect
 select 상가업소번호, 상호명, 지점명
 from market_2022
 where 상호명 like '%카페베네%'  and 시도명 ='서울특별시';

문제8. 위에서 출력되고 있는 건수가 전부 몇건인가?

select count(*)
from (
	select 상가업소번호, 상호명, 지점명
 	 from market_2017
 	 where 상호명 like '%카페베네%' and 시도명='서울특별시'
	intersect
	select 상가업소번호, 상호명, 지점명
	 from market_2017
	 where 상호명 like '%카페베네%' and 시도명='서울특별시' 
    );
    
 select count(*)
 from ( 
  select 상가업소번호, 상호명, 지점명
     from market_2017
     where 상호명 like '%카페베네%'  and 시도명 ='서울특별시'
   intersect
  select 상가업소번호, 상호명, 지점명
   from market_2022
   where 상호명 like '%카페베네%'  and 시도명 ='서울특별시' );

0개의 댓글