:SQL에는 데이터를 조회하고 테이블을 만드는 등 다양한 문법이 있다. 그리고 쿼리문을 어떻게 작성하는냐에 따라. 그 기능이나 작업이 달라진다.
:데이터를 정의할 때 사용하는 언어. 테이블을 만들때 사용하는 CREATE 이나 테이블을 제거할 때 사용하는 DROP 등이 DDL에 해당된다.
데이터베이스의 테이블과 같은 오브젝트를 정의할 때 사용한다.
:데이터베이스에 데이터를 저장할 때 사용하는 언어. INSERT 처럼 새로운 레코드를 추가할 때 사용되는 문법을 포함해 데이터를 삭제하는 DELETE나, 변경하는 UPDATE가 DML에 포함된다.
:데이터베이스에 대한 접근권한과 관련된 문법이다. 어느 유저가 데이터베이스에 접근할 수 있는지 권한을 설정한다. 권한을 주는 GRANT나 권한을 가져오는 REVOKE 등이 DCL에 포함된다.
:정해진 스키마 내에서 쿼리할 수 있는 언어이다. SELECT가 DQL에 해당된다. 분류를 했지만 DQL을 DML의 일부분으로 취급하기도 한다.
:DML을 거진 데이터의 변경사항을 수정할 수 있다. COMMIT 처럼 DML이 작업한 내용을 데이터 베이스에 커밋하거나 ROLLBACK 처럼 커밋했던 내용을 다시 롤백하는 문법이 있다
:프로그래밍 언어의 if 문과 같은 기능을 사용할 수 있다.
CASE를 사용하면특정 조건에 따라 다른 결과를 받을 수 있다.
예시)
:쿼리문을 작성할때 다른 쿼리문을 포함할 수 있다
서브쿼리는 성행되는 쿼리에 중접으로 위치해 정보를 전달한다
서브쿼리는 소괄호로 감싸야 한다.
예시)
IN은 특정한 값이 서브쿼리에 있는지 확인할 수 있다.다음 쿼리는 customers 테이블에서 'Customerld'의 값이 서브쿼리에서 돌려받는 값에 속한 결과들만 조회하고 있다.
예시)
:돌려받은 서브쿼리에 존재하는 레코드를 확인한다.
만약 조회하려는 레코드가 존재한다면 참 그렇지 않은 경우에는 거짓을 리턴한다.
예시)
:조회할 테이블들을 지정할수 있다.
예시)