DML (Data Manipulation Language) 데이터 조작어
: 데이터베이스의 테이블에 들어있는 데이터를 삽입 / 수정 / 삭제 / 조회 하는 명령어
INSERT : 데이터 삽입
UPDATE : 데이터 수정
DELETE : 데이터 삭제
UPSERT : INSERT or UPDATE
SELECT : 데이터 조회
SELECT
: 데이터 조회
1. 특정 컬럼 조회
SELECT * FROM [테이블 명]; -- 특정 테이블의 모든 컬럼을 조회한다.
1) 산술표현, 별칭(ALIAS)
- salary * 12 또는 salary / 10000 등과 같이 산술표현 가능
- 복잡한 컬럼명의 경우 별칭을 줄 수 있다. [복잡한 컬럼명] AS [별칭]
2) 문자열 합치기 (CONCAT)
- CONCAT(합칠, 컬럼, 문자열, 콤마로, 구분)
2. 특정 조건으로 데이터 조회 (WHERE)
1) AND 조건
2) OR 조건
3) BETWEEN AND
3. 중복 제거 (DISTINCT)
: 해당 컬럼에 어떤 종류들이 있는지 확인하고 싶을 경우 사용
4. IN
: OR를 내포하고 있다.
: 쿼리가 간결해지고, 속도면에서 우월하다.
5. IS NULL / IS NOT NULL
말그대로 컬럼의 값이 NULL 인 경우, NULL이 아닌 경우를 나타낸다.
6. LIKE
- 일부가 비슷한 내용을 검색할 때 사용 ( 속도가 느림 )
- 따라서 많은 데이터를 검색할 경우엔 LIKE를 사용하기보단 검색엔진을 사용한다.
- WHERE [컬럼명] LIKE '검색어';
- %를 꼭 붙여줘야 한다. %가 없으면 WHERE [컬럼명] = '검색어' 와 다를 것이 없다.
7. ORDER BY
- 특정 컬럼을 기준으로 오름차순(ASC), 내림차순(DESC)
- ORDER BY [컬럼] [ASC|DESC]
- 오름차순
- 내림차순
- ORDER BY는 조건에 따라 데이터를 추출 후 하는 것이 좋다.
8. GROUP BY
- 특정한 기준으로 데이터를 묶어서 가져온다.
- SELECT [컬럼, ...] FROM [테이블명] GROUP BY [묶을 컬럼];
- SELECT에는 GROUP BY한 컬럼 외에, 연산된 내용만 나와야 한다. ****
- 원래 연산된 컬럼(SUM,AVG 등) 외에 연산되지 않은 컬럼이 오면 에러가 난다.
- 하지만 에러 상황을 발생하지 않기 위해 해당 컬럼의 첫 값을 보여주는데 불필요한 내용이므로 쿼리문 작성시 유의한다!
9. HAVING
- GROUP BY로 가져온 결과로부터 특정 조건을 추출한다.
- 부서별 급여 합계 <- GROUP BY
- 그 중에서 합계가 1500만원 이상인 부서 <- HAVING
- HAVING 에는 가급적 별칭을 활용하지 말자( 몇몇 DB 에서는 having 에서 별칭 사용시 에러가 난다.)
- ORDER BY 에는 별칭 사용 가능
'Data > MariaDB' 카테고리의 다른 글
DB] 트랜젝션(TRANSACTION) (0) | 2022.05.02 |
---|---|
DB] 제약 조건(constraint) 1 - 기본 키 제약 조건 / NOT NULL (0) | 2022.04.28 |
DB] DML 1 - INSERT / UPDATE / DELETE / UPSERT (0) | 2022.04.28 |
DB] DDL(데이터 정의어) / 테이블 (0) | 2022.04.28 |
DB] DBeaver 사용 (0) | 2022.04.28 |