programming/database

[Database] SELECT 문으로 특정 데이터 추출하기


Contents


01. 데이터를 조회하기 위한 SELECT 문

02. 칼럼 이름을 명시해서 특정 칼럼만 보기

03. 중복된 데이터를 한 번씩만 출력하게 하는 DISTINCT

04. WHERE 조건

05. 비교 연산자

06. 논리 연산자

07. LIKE 연산자

08. NULL을 위한 연산자

09. 정렬을 위한 ORDER BY 절


* 요약

* 종합 문제




# SQL 문은 한 줄로 입력할 수도 있지만 여러 줄로 입력하는 것이 가독성에 좋다.


SELECT 절?

 :데이터베이스 내에 저장되어 있는 테이블의 내용을 조회하고자 할 때 사용하는 SQL 명령어로서 SELECT 절에는 출력하고자 하는 칼럼 이름을 기술할 수 있다.


* 기호?

 :테이블 내의 모든 내용을 출력하고자 할 때 굳이 칼럼 이름을 언급할 필요가 없기에 사용하는 것이다.


FROM 절?

 :조회하고자 하는 테이블 이름을 기술한다.


# SQL 문은 Enter를 쳐도 명령어가 수행되지 않는다. 명령어가 수행되도록 하기 위해서는 SQL 문이 끝났음을 알린 후에 Enter를 쳐야 한다. SQL 문은 여러 줄에 걸쳐서 작성할 수 있으므로 문장의 구분을 Enter로 하지 못한다. 문장의 끝을 알리기 위한 기호로 오라클에서는 세미콜론(;)을 사용한다.


# SQL 문에서 사용하는 명령어들은 대문자와 소문자를 구분하지 않는다.


02. DESC 명령어

 :테이블의 구조를 살펴보기 위한 명령어


2.1 칼럼 이름에 별칭 지정하기

(생능 참고)


+ 별칭에 공백문자나 $, _, # 등 특수 문자를 표현하고 싶거나 대소문자를 구별하고 싶으면 " " 를 사용

한글도 가능


03. DISTINCT

 :중복된 데이터를 한 번씩만 출력하게 하는 ??


04. WHERE 조건과 비교 연산자


지금까지 학습한 SELECT 문은 SELECT 절에 칼럼 이름을 나열하여 원하는 칼럼만 출력하였으나 SELECT 문에 WHERE 절을 추가하면 원하는 행만 추출할 수 있다.


--- 중략


이렇게 WHERE 절을 추가하여 원하는 로우(행)만 얻으려면 행을 제한하는 조건을 제시해야 하는데 이때 WHERE 절과 함께 다양한 연산자들이 사용된다.


4.1 비교 연산자

=

>

<

>=

<=

<>, !=, ^=


4.2 문자 데이터 조회

'' 와 그냥의 차이

이중 따옴표를 쓰면 안된다


문자 데이터를 단일 따옴표 안에 기술하지 않으면 데이터가 아닌 식별자(칼럼) 이름으로 인식한다.

주의할점 : 대소문자를 구분한다.


4.3 날짜 데이터 조회

날짜 역시 문자열과 마찬가지로 단일 따옴표~


05 논리 연산자

5.1 AND 연산자

5.2 OR 연산자

5.3 NOT 연산자

5.4 BETWEEN AND 연산자

5.5 IN 연산자

5.6 LIKE 연산자


와일드카드    의미

%   문자~~~

_    ~~



LIKE 조건    검색되는 자료의 예            설명

LIKE _A        AA, BA, CA 등                  자료가 두 글자이되 이 중 두 번째 글자가 'A'인 자료

LIKE _A%      AAA, BAA, CA213S 등        자료의 두 번째 글자가 'A'이고 그 뒤는 무엇이든 상관없는 자료

LIKE A__       AAA, AB, CAB 등            A로 시작하고 꼭 세 글자여야만 한다. 뒤에 두 글자는 무엇이든 상관없는 자료

LIKE _a__     AaVC, CaKK 등            4글자로 구성되어야만 하되 두 번째 글자는 반드시 소문자 a여야 하는 자료


07. NULL을 위한 연산자

오라클에서는 칼럼에 NULL 값이 저장되는 것을 허용한다.

NULL? : 미확정, 알수 없는(unknown) 값을 의미한다.

NULL은 연산, 할당, 비교가 불가능하다


7.1 IS NULL과 IS NOT NULL


08. 정렬을 위한 ORDER BY 절

ORDER BY 절은 로우를 정렬하는 데 사용하며 쿼리문 맨 뒤에 기술해야 하며, 정렬의 기준이 되는 칼럼 이름 또는 SELECT 절에서  명시된 별칭을 사용할 수 있다.


8.1 오름차순 정렬을 위한 ASC

8.2 내림차순 정렬을 위한 DESC