본문 바로가기

SQL

MySQL - SQL 고급

728x90

1. INNER JOIN

-- 기본 형식
SELECT <열 목록>
FROM <첫 번째 테이블>
	INNER JOIN <두 번째 테이블>
    ON <조인될 조건>
[WHERE 검색 조건]

-- 쇼핑몰에서 한번이라도 구매한 기록이 있는 회원 불러오기(1) - DISTINCT
SELECT DISTINCT U.userID, U.name, U.addr
	FROM usertbl U
    	INNER JOIN buytbl B
        	ON U.userID = B.userID
        ORDER BY U.userID;
        
-- 쇼핑몰에서 한번이라도 구매한 기록이 있는 회원 불러오기(2) - EXISTS
SELECT U.userID, U.name, U.addr
	FROM usertbl U
    WHERE EXISTS (
    	SELECT *
        FROM buytbl B
        WHERE U.userID = B.userID) ;
        
-- 세 개 테이블 조인하기
-- 학생 테이블, 동아리 테이블, 학생동아리 테이블을 이용해 학생을 기준으로 학생 이름/지역/가입한 동아리/동아리방을 출력
SELECT S.stdName, S.addr, C.clubName, C.roomNo
	FROM stdtbl S
    	INNER JOIN stdclubtbl SC
        	ON S.stdName = SC.stdName
        INNER JOIN clubtbl C
        	ON SC.clubName = C.clubName
        ORDER BY S.stdName;

 

 

2. OUTER JOIN - LEFT JOIN, RIGHT JOIN, FULL JOIN

-- 기본 형식
SELECT <열 목록>
FROM <첫 번째 테이블(LEFT 테이블)>
	<LEFT|RIGHT|FULL> OUTER JOIN <두 번째 테이블(RIGHT 테이블)>
    	ON <조인될 조건>
[WHERE 검색조건] ;

 

'SQL' 카테고리의 다른 글

SQL 용어 정리  (0) 2021.09.01
PHP와 MySQL 연동하기(1) - 회원관리시스템  (0) 2021.09.01
MySQL - SQL 기본(2)  (0) 2021.08.23
MySQL - SQL 기본(1)  (0) 2021.08.20
MySQL(1)  (0) 2021.08.17