안녕하세요 열코입니다.


SELECT는 SQL에서 가장 일반적으로 사용되는 문으로, 데이터 베이스에서 데이터를 검색해서 가져오는데 사용됩니다.

SELECT문을 통해 전체 테이블을 가져오거나 규칙을 지정하여 테이블의 일부만 가져올 수 있습니다.

반환 된 데이터는 결과 테이블에 저장되며 이 테이블을 결과 집합이라고 합니다.


기본적인 사용 구문


SELECT 필드명1, 필드명2, 필드명3 ... FROM 테이블명 


필드(컬럼)명은 하나 또는 여러개가 될 수 있으며 콤마(,)로 구분해서 사용합니다.

또한 테이블의 전체를 가져오려면 필드명에 *를 사용합니다. 


SELECT * FROM 테이블명


SELECT문에서 SELECT와 FROM은 필수적으로 사용되는 절이며, 나머지 기타 절은 선택사항입니다.

(기타절 : WHERE, GROUP BY, HAVING, ORDER BY)



☞ WHERE절 사용법

WHERE절은 검색 이외에 갱신(UPDATE), 삭제(DELETE)문에서도 사용할 수 있으며 행을 식별하는 

탐색 조건을 지정합니다. 탐색조건은 하나이상이 될 수 있으며 다음과 같이 사용 가능합니다.


SELECT 필드명 FROM 테이블명 WHERE 조건


위와 같이 WHERE을 SELECT문에 배치해서 사용합니다. WHERE에서 사용되는 조건은 보통 

비교 연산자 및 NOT 키워드를 사용합니다.

한가지 예를 들면 다음과 같은 테이블이 있다고 가정합니다.


[테이블 명 : 학생]

이름

 나이

점수

A

 24

90

B

 28

85

C

 34

80


이름, 나이, 점수 순으로 필드가 존재하는 위와 같은 테이블에서

85점 이상의 사람의 이름을 검색하고 싶을 때

다음과 같이 쿼리문을 작성합니다.


SELECT 이름 FROM 학생 WHERE 점수 >= '85'


결과는 다음과 같습니다.


이름

A

B


SQL에서 WHERE문에서 사용할 수 있는 비교 연산자는 다음과 같습니다.

<(초과), >(미만), =(같다), <=(이상), >=(이하), !=(같지않다)



또한 다른 언어들과 마찬가지로 AND와 OR 연산자를 지원합니다.

- AND는 AND앞과 뒤의 조건을 모두 만족해야 할 때 사용하며,

- OR는 OR 앞과 뒤 중 하나또는 모두 만족 할 때 사용됩니다.


더 나아가 여러 탐색 조건을 수행 할 수 있습니다.

- BETWEEN ~ AND : 두개의 다른 값 사이의 값이 충족되도록 조건을 지정합니다.

- IN : 값을 나열하여 나열한 값 사이에 있는 행을 모두 찾도록 조건을 지정합니다.

- EXISTS : 특정 행이 존재하는지 조건을 지정합니다.

- IS NULL : 널 값에 대한 테스트를 위해 사용합니다.



☞ ORDER BY 사용법

SELECT를 이용하여 출력 할 때 ORDER BY를 이용하여 테이블을 정렬 할 수 있습니다.

기준 튜플을 지정하고 오름차순, 내림차순을 설정할 수 있습니다.

예를 들어 다음과 같은 테이블이 존재한다고 가정합니다.


[테이블명 : 회원]

이름

전화번호

나이

A

010-1234-5678

15

B

010-2342-2341

27

C

010-3246-5436 

21

D

010-8923-8435

33

E

010-2464-9314

12


위 테이블에서 나이가 20살 이상인 사람들의 이름과 전화번호, 나이를 출력하려고 합니다.

다음과 같은 쿼리문을 사용하면 되겠죠?


SELECT * FROM 회원 WHERE 나이 >= '20'


쿼리문 실행 결과 아래와 같이 출력될 것입니다.



[테이블명 : 회원]

이름

전화번호

나이

B

010-2342-2341

27

C

010-3246-5436 

21

D

010-8923-8435

33


하지만 별로 보기가 좋지 않네요,

나이를 오름차순으로 정렬 하고 싶습니다.

다음과 같이 order by를 사용하여 정렬 할 수 있습니다.


SELECT * FROM 회원 WHERE 나이 >= '20' ORDER BY 나이


아래 결과를 확인해보세요.


[테이블명 : 회원]

이름

전화번호

나이

C

010-3246-5436

21

B

010-2342-2341

27

D

010-8923-8435

33


나이를 오름차순으로 정렬하여 출력한 결과입니다.

훨씬 보기 깔끔하네요~


내림차순으로 정렬하고 싶으면 맨 끝에 DESC를 추가하면 됩니다.


SELECT * FROM 회원 WHERE 나이 >= '20' ORDER BY 나이 DESC



이렇게 말이죠.



이상 'SELECT 사용법'에 대해 알아보았습니다.

질문 또는 오타나 잘못된 정보가 있는 경우 댓글로 달아주세요!

공감♡ 버튼을 눌러주시면 더욱 유용하고 좋은 포스팅으로 찾아 뵙겠습니다.






to Top