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 |