본문 바로가기
Dev/MSSql

MSSQL에서 데이터 조회하기 - SELECT 활용법

by 데브길길잇 2022. 8. 25.
728x90
반응형

안녕하세요 dev-길길IT입니다.

오늘은 MSSQL에서 데이터를 조회하기 위한 SELECT문의 여러 가지 활용법을 알아봅니다

원하는 데이터만 알맞게 가져와서 리소스의 양을 줄여야만

최적화에도 속도면에도 유리할 수밖에 없는데요

 

다양하게 알수록 활용법이 무궁무진해지죠

 

시작할게요!

 

 

 

MSSQL에서 데이터 조회하기 - SELECT 활용법

MSSQL SELECT의 6가지 방법 소개

 

 


1. SELECT * FROM TABLE

'*'연산자는 와일드카드라고 부릅니다.

파일명을 검색할 때에도 사용되는데 MSSQL에서의 *은 전체를 의미합니다.

 

SELECT * FROM TABLE의 쿼리문은

TABLE에 있는 전체 칼럼을 다 가져오겠다는 뜻입니다.

 

가장 많이 쓰이는 항목이죠.


 

2. SELECT 필드 FROM TABLE

 

두 번째는 SELECT [특정 필드] FROM TABLE인데요

SQL 테이블 안에 있는 특정 칼럼만 뽑아내고 싶을 때 명시적으로 필드를 지정해주면 됩니다.

위 예시에서는 Temperature라는 테이블에서 hour, forecast 정보만 출력했습니다..


 

3. SELECT (* or 필드) INTO NEW_TABLE FROM OLD_TABLE

세 번째 방법으로는 SELECT문을 이용해서 새로운 테이블을 생성하는 방법입니다.

기존 테이블의 정보를 가져와서 정보를 조회하면서 동시에 새 테이블을 만들어주는 것인데요.

 

문법은 다음과 같습니다.

select * into [새로 생성할 테이블] from [기존 테이블]

이 문법에서는 SELECT 하는 대상 즉, 위에서는 *을 썼기 때문에 전체 칼럼을

새로 생성할 테이블에 넣어준다는 뜻입니다.

만약 필드를 지정하면 새로운 테이블에는 지정된 필드 정보만 들어가게 됩니다.

 

 

위 예시에서 보여드린  MSSQL 쿼리문은

Temperature 테이블에서 hour, forecast 필드만 testTemp라는 테이블에 새로 넣어주겠다는 것입니다.

만들어진 testTemp를 조회해보면 의도대로 데이터가 들어간 것을 보실 수 있습니다.

 

이 방법은 테이블은 생성해주지만 Index 정보는 별도로 포함되지 않기 때문에

Index는 직접 생성해주셔야 합니다.

 


4. SELECT TOP N (* or 필드) FROM TABLE

 

MSSQL SELECT 쿼리문에서의 top  N 명령어는 상위 N개의 데이터를 조회하라는 의미로 사용됩니다.

적은 데이터의 경우 데이터 테이블 전체를 조회해도 무리가 없지만

수백만 ~ 수천만 개의 데이터가 쌓여있는 DB의 경우에는 조회만 하는 데에도 시간이 오래 걸릴 수 있으며

서버의 리소스를 사용하기 때문에 부하를 유발할 수도 있습니다.

 

저는 주로 Top 100~1000 정도를 사용하는 편입니다.

 

 

5. SELECT (* or 필드) FROM TABLE ORDER BY 필드 [ASC/DESC]

다섯 번째는 MSSQL SELECT문에서 사용되는 order by 필드명 asc/desc입니다.

order는 정렬하다라는 뜻을 가지고 있듯이, 데이터를 출력할 때 정렬하는 순서를 지정해주는 명령어입니다.

 

정렬할 기준이 되는 필드명을 명시한 후에 asc/desc를 입력하면 되는데요

asc는 오름차순, desc는 내림차순으로 정렬해주고

입력하지 않을 경우 자동으로 asc로 적용됩니다.

 

 

6. SELECT (* or 필드) FROM TABLE WHERE 조건

마지막 여섯 번째는 WHERE 조건입니다.

데이터를 조회할 때 조건을 걸어 이 조건을 만족하는 값들만 추출할 수 있습니다.

WHERE 조건에는 정말 많은 유형들이 있기 때문에 별도로 포스팅을 할 예정입니다.

 

 

마무리

오늘은 MSSQL SELECT문의 활용법을 알아보았습니다.

제가 위에서 명시해놓은 방법 말고도 굉장히 다양한 활용법들이 많은데요

여러분들이 DB작업을 하시면서 편리하게 사용하실 수 있도록

지속적으로 포스팅하도록 하겠습니다.

 

오늘도 읽어주셔서 감사합니다.

 

 

 

728x90
반응형

댓글