🤞 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
댓글
댓글 쓰기