[MSSQL] SELECT 문

2020. 4. 30. 23:53·데이터베이스/Mssql
반응형

SELECT 문

SELECT 문은 테이블의 데이터를 조회하는 구문이다. SELECT문은 SQL명령어 중에서 가장 기본이 되고 많이 사용하는 명령어이다. SELECT문을 사용한 조회 결과는 테이블 형태로 보여진다. 단순하게 테이블을 조회할 수 있을 뿐만 아니라 다양한 구문을 활용하여 복잡한 작업도 가능하다.

 

DDL

테이블의 스키마, 헤더, 테이블의 뼈대를 만드는 것

DML

테이블의 뼈대를 만들어 놓으면 레코드(행, 튜플)을 채워 넣어서 자료들을 뽑아보는 것

DCL

테이블이나 특정 칼럼에 대해서 사용자에게 권한을 주고 통제하는 것

 

*SELECT 기본 문법

SELECT 테이블의 열이름(칼럼명)

FROM 테이블명

[WHERE 검색할 행의 조건]

 

*SELECT 기본 문법

SELECT : 테이블의 열이름(칼럼명)

 

FROM : 테이블 명

 

FROM 밑으로는 상황에 따라 생략 할 수 있는 명령어

문법의 순서는 지켜줘야 한다

WHERE

 

GROUP BY

HAVING

 

ORDER BY

 

*SELECT

--모든 열 가져오기

SELECT * FROM 성적

 

--선택한 열 가져오기

SELECT 학번,이름,성별,점수 FROM 성적

 

--열의 이름 변경하기

SELECT 학번, 이름 AS 학생이름, 점수 AS DB점수

FROM 성적

 

--새로운 열을 추가하기

SELECT '컴퓨터과'AS 학과,학번,이름,점수 FROM 성적

‘컴퓨터괴’라는 열이 학번 열앞에 추가되어 보여진다.

원하는 값을 테이블의 열처럼 사용하면 된다.

 

*데이터 정렬하기

--점수를 기준으로 오름 차순 정렬

SELECT 학번,이름,점수

FROM 성적

ORDER BY 점수 ASC

 

--점수를 기준으로 내림 차순 정렬

SELECT 학번,이름,점수

FROM 성적

ORDER BY 점수 DESC

 

--이름을 기준으로 오름차순 정렬

SELECT 학번,이름,점수

FROM 성적

ORDER BY 이름

// (default 오름차순)

 

--반별로 점수순으로 오름차순 정렬

SELECT 학번,이름,반,점수

FROM 성적

ORDER BY 반,점수

 

*중복 데이터 제거하기

--제품 테이블을 조회

SELECT *

FROM 제품

 

--제품 테이블에서 종류만 조회

SELECT 종류

FROM 제품

 

--제품테이블에서 종류를 한번만 조회

--중복된 데이터를 한번만 나타나게 하고 싶으면 DISTINCT

SELECT DISTINCT 종류

FROM 제품

 

*상위 몇 개만 가져오기

--상위 몇 개를 가져오려면 TOP n을 사용할 수 있다.

--성적 테이블에서 점수가 TOP 5인 학생 조회

SELECT TOP 5 이름,점수

FROM 성적

 

--TOP n 은 상위 n번째 행까지 가져오므로,

--만약n번째 이후 레코드가 같은 점수를 가진 학생이 있다면

--같은 순위임에도 불구하고 점수가 같은 나머지 학생들은 포함되지 않는다

--이때, WITH TIES절을 사용하면 같은 점수를 가진 레코드까지 가져온다.

 

SELECT TOP 5 WITH TIES 이름,점수

FROM 성적

ORDER BY 점수 DESC

 

--PERCENT

--성적 테이블에는 20개의 레코드가 있기 때문에 25 퍼센트에 해당되는 결과는 5개의 레코드가 조회된다

SELECT TOP 25 PERCENT 이름, 점수

FROM 성적

 

*연산자를 이용한 데이터 필터링

--성적 테이블에서 점수가 90이상인 학생들만 조회

SELECT 학번,이름,반,점수

FROM 성적

WHERE 점수>=90

 

--와일드카드 %를 사용하여 이름이'김'으로 시작하는 학생들을 검색

SELECT *

FROM 성적

WHERE 이름 like '김%’

 

--이름이 '이'로 시작하면서 '석'또는 '기'로 끝나는 학생을 검색

SELECT *

FROM 성적

WHERE 이름 like '이%[석기]’

 

--문자열의 결합

--이름에 연속해서 성별이 괄호안에 나타나도록 출력하는 예제

SELECT 학번,이름+'('+성별+')'AS[이름(성별)]

FROM 성적

 

--논리연산자

--A반이고 남학생들의 데이터만 조회

SELECT 이름,반,성별

FROM 성적

WHERE 반='A' AND 성별='남’

 

--논리연산자

--점수가 90점 이상이거나 80점 미만인 학생들을 검색

SELECT 이름,점수

FROM 성적

WHERE 점수>=90 OR 점수<80

 

--BETWEEN

--점수가 75점과 85점 사이의 학생들을 조회

SELECT 이름,점수

FROM 성적

WHERE 점수 BETWEEN 75 AND 85

 

--IN

--IN은 IN에 나열한 목록들의 데이터를 가져올 때 사용

--이름이 '이종석','송중기','유아인'학생들의 데이터를 조회

SELECT *

FROM 성적

WHERE 이름 IN ('이종석','송중기','유아인');

반응형

'데이터베이스 > Mssql' 카테고리의 다른 글

[MSSQL] 요약정보 만들기  (0) 2020.05.01
[MSSQL] Transact-SQL?  (0) 2020.04.30
'데이터베이스/Mssql' 카테고리의 다른 글
  • [MSSQL] 요약정보 만들기
  • [MSSQL] Transact-SQL?
:j
:j
ddongjunn@gmail.com
  • :j
    dev.j
    :j
  • 전체
    오늘
    어제
    • :j
      • 프로그래밍 언어
        • Java
        • html
        • JavaScript
        • XML
        • JSON
        • CSS
        • jQuery
        • Web
        • k8s
        • JPA
      • 프레임워크
        • Spring
      • 코딩 테스트
        • Java
      • 네트워크
        • CCNA
      • 데이터베이스
        • Mssql
        • Oracle
      • 회고
      • :j story
      • CS
  • 블로그 메뉴

    • 홈
    • 태그
    • github
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Name
    항해99
    항해플러스
    id
    항해솔직후기
    Queue
    멤버변수
    지역변수
    <br>
    오버로딩
    MSSQL
    항해플러스백엔드
    다형성
    항해플러스백앤드
    HAVING
    appendChild
    항해백앤드
    오버라이딩
    class
    group by
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
:j
[MSSQL] SELECT 문
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.