코드프레소 Java 웹 개발 체험단 활동 중 '처음 시작하는 SQL 프로그래밍' 강의에 SQL 문법에 대해 작성하려 한다.
전에 백엔드 개발자 CS 면접 대비 글을 업로드를 했었는데 SQL에 데이터 조작, 정의, 제어문이 있는데, 이것을 DDL, DML, DCL 이렇게 부른다.
공부를 하면 1시간만에 금방 외울 것이며, 외워서 나쁠 것이 없는 게 정보처리기사에 꾸준히 나오는 기출문제다.
현재 작성 중이긴 한데 정보처리기사 후기 및 예상 문제 리뷰를 게시할 예정이다. (시간이 잘 안난다...ㅠ)
일단 3가지 먼저 분류하고 정의부터 설명한 다음 강의 내용을 포스팅할 것이다.
DDL, DML, DCL이란?
명령어 종류 | 명령어 | 설명 |
데이터 조작어 (DML:Data Manipulate Language) |
SELECT | 데이터베이스에 들어 있는 데이터를 조회하거나 검색하기 위한 명령어 |
INSERT UPDATE DELETE |
데이터베이스의 테이블에 들어 있는 데이터에 변형을 가하는 종류(데이터 삽입, 수정, 삭제)의 명령어들을 말함. | |
데이터 정의어 (DDL:Data Definition Language) |
CREATE ALTER DROP RENAME TRUNCATE |
테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 (생성, 변경, 삭제, 이름변경) 데이터 구조와 관련된 명령어들을 말함. |
데이터 제어어 (DCL:Data Control Language) |
GRANT REVOKE |
데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어들을 말함. |
INSERT (데이터 삽입)
이전 데이터베이스 초기 실습 환경 구축 게시글에 populate 내용을 보면 INSERT 쿼리문이 있을 것이다.
데이터를 생성하는 쿼리로 말 그대로 INSERT, 삽입이라는 뜻이다.
문법은 이와 같이 INSERT INTO 테이블명 (컬럼1, 컬럼2, ..) VALUES (값1, 값2, ...) 이렇게 되어있다.
여기서 주의해야 할 점은 해당 컬럼의 데이터 타입 형식에 맞춰서 값을 넣어야 하는 것이다.
만약 컬럼이 name인 String 문자열 타입인데, 값 위치에 숫자가 들어가면 오류가 발생할 것이다.
SELECT (데이터 조회)
SELECT 문을 사용하여 테이블의 데이터를 조회한다.
SELECT 컬럼1, 컬럼2, ... FROM 테이블명 이렇게 명령어를 사용한다.
말 그대로 테이블로부터 컬럼들을 선택해서 조회한다는 뜻으로 사용하는 것이다.
생각보다 단순하지만, 나중에 WHERE, GROUP BY, ORDER BY, JOIN 등등 나오면 헷갈릴 것이고 나중에 Spring에서는 repository 파일 내에 Java에 맞는 쿼리문을 작성할 지도 모르니 개념을 정확히 알아야 한다.
이전에 populate로 생성한 데이터들을 예시로 이렇게 조회를 해보면 아래 출력문에 해당 컬럼들만 조회가 되는 것을 확인할 수 있다.
id가 오름차순으로 하여 출력이 된다.
다른 예제로 전체 컬럼 데이터를 조회하고 싶으면 SELETE에 *만 찍으면 된다.
그러면 위 예제의 Customers 테이블 컬럼들이 전부 조회가 될 것이다.
WHERE (데이터 필터링)
- WHERE 절을 이용하여 원하는 조건으로 데이터를 필터링
- WHERE 절 다음에 원하는 조건을 명시
- WHERE 절은 SELECT 문 외에 UPDATE, DELETE 문에서도 가능하다.
- 문법은 SELECT 컬럼1, 컬럼2, ... FROM 테이블명 WHERE 조건; 으로 원하는 데이터를 필터링한다.
이와 같이 cust_state가 MI인 데이터만 필터링하여 조회를 할 수 있다.
비교 연산자 (Comparison Operator)
WHERE 절에 비교 연산자를 사용하여 값을 필터링하여 원하는 데이터를 얻을 수 있다.
위 예제에 <>연산은 이번에 처음 보는 연산인데 해당 조건이 아닌 데이터만 필터링하는 연산이다.
조건의 결합 (AND/OR 연산자)
- 하나 이상의 조건들을 결합하여 필터링 가능
- AND 연산자 - 주어진 모든 조건을 모두 만족시키는 데이터만 조회
ex) 여자이면서 나이는 30살이고 서울에 거주하는 사람 - OR 연산자 - 주어진 조건 중 하나 이상 만족시키는 데이터 조회
ex) 서울에 살거나 대전에 살거나 부산에 살고있는 사람
AND 연산자 / OR 연산자
AND 연산자는 이와 같이 두 조건이 해당되는 사람을 조회하는 것이다.
다음으로 OR 연산자로 바꿔서 실행했더니 2개의 데이터를 조회할 수 있다.
이 조건은 둘 중 하나의 조건만 충족하므로 cust_state가 AZ여도 필터링이 되어나온 걸 확인할 수 있다.
코드프레소 URL: https://www.codepresso.kr/
프리미엄 IT 교육 서비스 - 코드프레소
www.codepresso.kr
'데이터베이스 > SQL' 카테고리의 다른 글
데이터베이스 SQL - order by, group by, having 절 (1) | 2022.09.29 |
---|