본문 바로가기
DataBase/MSSQL

[MSSQL] SELECT 문 사용법 및 예제

by 코딩이라구 2023. 11. 2.

MSSQL에서 테이블의 존재하는 데이터를 조회(검색)를 하기 위해서는 SELECT 명령어를 사용해야 합니다. 이번에는 기본적인 MSSQL SELECT 문의 사용법에 대하여 알아보고 간단한 예제도 다뤄보도록 하겠습니다.


MSSQL SELECT 문

 

SELECT 기본 문법

SELECT [조회할 컬럼]
  FROM [조회할 테이블]
 WHERE [조건절];

예제

-- Club 테이블 조회

-- 1. 이름이 '박지운'인 사람 검색
SELECT *
  FROM Club
 WHERE Name = '박지운';

-- 2. 나이가 34살인 사람의 이름과 성별 검색
SELECT Name, Gender
  FROM Club
 WHERE AGE = '34';

-- 두가지 이상의 조건문 검색시 AND 명령어 사용
-- 3. 나이가 20살 이상의 남자('M')를 모두 검색
SELECT *
  FROM Club
 WHERE Age >= 20
   AND Gender = 'M';

조건절 LIKE (검색할 단어를 포함하는 값)

-- LIKE 조건절 문법
SELECT [조회할 컬럼]
  FROM [조회할 테이블]
 WHERE [조건 컬럼] (NOT) LIKE '%[검색할 단어]%';

이처럼 '%'는 검색하려는 단어 앞 또는 뒤에 어떤 단어가 존재한다는 의미입니다.

예제

-- 검색할 단어의 위치에 따라서 검색 방법이 바뀝니다.
-- ● '윤영미'라는 이름을 LIKE 조건절을 통하여 검색하는 예제

-- 1. 검색할 단어가 시작 위치이며 '윤'으로 시작하는 사람을 검색
SELECT *
  FROM Club
 WHERE Name LIKE '윤%';

-- 2. 검색할 단어가 중간 또는 마지막 위치이며, '영'을 포함하는 사람을 검색
-- 이 경우에는 영의 위치와 상관없이 어느 위치에 영이 있는 경우 모두 검색
SELECT *
  FROM Club
 WHERE Name LIKE '%영%';

-- 3. 검색할 단어가 마지막에 위치하며, '미'로 끝나는 사람을 검색
SELECT *
  FROM Club
 WHERE Name LIKE '미%';


-- ● 검색할 단어가 포함 또는 제외되도록 검색하는 예제
-- '광역시'라는 명칭이 들어가는 도시에 거주하는 사람을 검색
SELECT Name, Age, Gender
  FROM Club
 WHERE City LIKE '%광역시%';

-- '광역시'라는 명칭을 포함하지 않는 도시에 거주하는 사람을 검색 (NOT 명령어 사용)
SELECT Name, Age, Gender
  FROM Club
 WHERE City NOT LIKE '%광역시%';

조건절 IN (여러 개의 조건을 한 번에 나열)

-- IN 조건절 기본 문법
SELECT [조회할 컬럼]
  FROM [조회할 테이블]
 WHERE [조건 컬럼] (NOT) IN([검색 단어1], [검색 단어2], ..., [검색 단어n]);

예제

-- 조건 컬럼에서 여러 개의 조건을 검색하는 예제

-- '윤영미', '박지운' 2명의 이름 검색
-- ● IN 조건절을 사용하지 않고 검색(OR 명령어 사용)
SELECT *
  FROM Club
 WHERE Name = '윤영미'
    OR Name = '박지운';

-- ● IN 조건절을 사용한 검색
SELECT *
  FROM Club
 WHERE Name IN('윤영미', '박지운');


-- ● '윤영미', '박지운'을 제외하고 검색(NOT 명령어 사용)
SELECT *
  FROM Club
 WHERE Name NOT IN('윤영미', '박지운');

조건절 BETWEEN AND (범위를 정하여 검색)

-- BETWEEN AND 조건절 기본 문법
SELECT [조회할 컬럼]
  FROM [조회할 테이블]
 WHERE [조건 컬럼] BETWEEN [검색할 시작 범위]
                       AND [검색할 종료 범위];

예제

-- 숫자 또는 날짜를 범위로 많이 사용

-- ● 나이가 19 ~ 30살인 사람을 검색
SELECT *
  FROM Club
 WHERE Age BETWEEN 19
               AND 30;

-- ● 등록일이 '2023-11-01' ~ '2023-11-02'인 사람을 검색
SELECT *
  FROM Club
 WHERE Regist_Date BETWEEN '2023-11-01'
                       AND '2023-11-02';

-- ● 나이가 19 ~ 30살과 등록일 '2023-11-01' ~ '2023-11-02'을 제외한 사람을 검색(NOT 명령어 사용)
SELECT *
  FROM Club
 WHERE Age NOT BETWEEN 19 AND 30
   AND Regist_Date NOT BETWEEN '2023-11-01' AND '2023-11-02';

ORDER BY (데이터 정렬)

-- ORDER BY 기몬 분법 (ASC: 오름차순, DESC: 내림차순)
SELECT [조회할 컬럼]
  FROM [조회할 테이블]
 WHERE [조건절]
 ORDER BY [정렬할 컬럼] ASC OR DESC;

예제

-- ORDER BY 정렬에서 기본값은 ASC(오름차순) 정렬입니다.

-- ● 이름 오름차순 정렬 (오름차순은 기본값으로 ASC가 생략되어도 무방)
SELECT *
  FROM Club
 ORDER BY Name ASC;

-- ● (조건)이름이 '김'씨로 시작하는 사람의 (정렬)나이 내림차순 정렬(내림차순은 명시)
SELECT *
  FROM Club
 WHERE Name LIKE '김%'
 ORDER BY Age DESC;

-- ● '서울'에 거주하는 사람 (다중 정렬) 1. 성별(오름차순) 2. 나이(내림차순) 정렬
SELECT *
  FROM Club
 WHERE City = '서울'
 ORDER BY Gender, Age DESC;
(ORDER BY Gender ASC, Age DESC와 동일 오름차순 생략함)

 

이번시간에는 MSSQL에서 원하는 데이터를 조회/검색을 할 수 있는 SELECT 문의 사용법과 예제에 대하여 알아보았습니다. 기본적인 사용법을 위에 다루었으며, SELECT 문에서 사용하는 명령어들이 많기 때문에 그 부분들은 따로 더욱 공부해보겠습니다. 감사합니다.


MSSQL 같이보면 도움이 되는 글
 

[MSSQL] INSERT 문 사용법 및 예제 (+ 여러개 레코드 추가)

지난 시간에는 MSSQL SELECT 문을 통한 데이터 조회하는 방법에 대하여 알아보았고, 이번 시간에는 MSSQL에 데이터를 삽입(추가) 하기 위한 INSERT 문의 사용법을 알아보고 간단한 예제도 다뤄보도록

chragu.com

 

MSSQL TOP 사용법 (행의 수를 지정하여 출력)

이번에는 MSSQL에서 SELECT 문 사용 시 테이블의 레코드를 조회할 때 원하는 행의 수만큼 지정하여 화면에 출력하기 위한 구문에 대하여 알아보도록 하겠습니다. MySQL에서는 LIMIT 구문으로 사용되는

chragu.com

 

[MSSQL] 문자열 원하는 영역 자르기 (SUBSTRING, LEFT, RIGHT)

MSSQL 데이터베이스의 검색 방법에서 문자열을 원하는 길이(영역)의 문자열만큼 잘라서 조회해야 할 경우가 있습니다. 이번에는 MSSQL에서 문자열 자르기의 3가지 종류인 SUBSTRING, LEFT, RIGHT 함수에

chragu.com

댓글