안녕하세요 열코입니다.
SELECT는 SQL에서 가장 일반적으로 사용되는 문으로, 데이터 베이스에서 데이터를 검색해서 가져오는데 사용됩니다.
SELECT문을 통해 전체 테이블을 가져오거나 규칙을 지정하여 테이블의 일부만 가져올 수 있습니다.
반환 된 데이터는 결과 테이블에 저장되며 이 테이블을 결과 집합이라고 합니다.
☞ 기본적인 사용 구문
SELECT 필드명1, 필드명2, 필드명3 ... 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'
결과는 다음과 같습니다.
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 사용법'에 대해 알아보았습니다.
질문 또는 오타나 잘못된 정보가 있는 경우 댓글로 달아주세요!
공감♡ 버튼을 눌러주시면 더욱 유용하고 좋은 포스팅으로 찾아 뵙겠습니다.