MySQL 정리 4 ( JOIN )

 









🤞 DML (데이터 조작 언어) ,  CRUD
 select : 조회
    : Select 컬럼이름 from 테이블이름 where,group by, having

🤘  쿼리 순서
1. from
2. where
3. group by
4. having
5. select
6. order by
    * where, having 의 차이점
        = where 은 집계 함수 사용 시 오류.  having 가능
             order by 디폴트 값은 오름(ASC)

✍ 종류
+ insert : 입력(추가)
   -  insert into 테이블이름(컬럼이름) values(데이터)

+ update : 수정
    - update 테이블 이름 set 컬럼이름 = 데이터
    - *** 데이터베이스는 update 를 받으면 delete 했다가 insert 하는 것

+ delete : 삭제
    - DELETE FROM 테이블 이름.
🙌 고급쿼리
- deptno : 부서번호
- dname : 부서 이름
- loc : 부서 위치

🎈 JOIN
- 두 테이블간 공통된 데이터(교집합)이 있다면 조인 가능.
- 조인은 2개 이상 테이블을 조회할 때 사용
- 프로그램 상 * 은 all 을 의미.
- as 는 별칭
- 일반 조인, inner join !
- left join, right join : 교집합 데이터가 아닌 데이터 조회할 때 사용

- 문법
SELECT
    컬럼이름
FROM 테이블이름 AS x RIGHT JOIN 테이블이름 AS y
ON x.컬럼이름 = y.컬럼이름

💋 RIGHT, LEFT
- RIGHT, LEFT 기능은 같다.
- 찾고자 하는 데이터 테이블 위치에 따라 RIGHT 혹은 LEFT를 사용.

- dept 테이블에 있는 40번 부서는 emp테이블에 없음.
- 아래 쿼리는 40번 부서와 교집합 데이터 조회

SELECT
    e.ename AS "사원 번호",
    d.dname AS "부서 이름"
FROM emp AS e
RIGHT JOIN dept AS d
ON e.deptno = d.deptno

- 아래 쿼리는 교집합 데이터가 아닌 차집합 데이터 조회
SELECT
    e.ename AS "사원 번호",
    d.dname AS "부서 이름"
FROM emp AS e
RIGHT JOIN dept AS d
ON e.deptno = d.deptno
WHERE e.empno IS NULL













댓글