SELECT 문(1)
기본적인 <SELECT... FROM>
SELECT 문의 구문 형식
/* []는 생략 가능 */
[WITH <common_table_expression>] -- 공통 테이블 표현식을 정의
SELECT select_list [INTO new_table] -- 선택한 컬럼을 반환하고, 선택적으로 새로운 테이블에 저장
[FROM table_source] -- 데이터를 가져올 테이블을 지정
[WHERE search_condition] -- 조건에 맞는 행을 필터링
[GROUP BY group_by_expression] -- 행을 그룹화
[HAVING search_condition] -- 그룹화된 행을 필터링
[ORDER BY order_expression [ASC|DESC]] -- 결과를 정렬
구문 요소 | 설명 |
---|---|
WITH <common_table_expression> | 공통 테이블 표현식을 정의 (생략 가능) |
SELECT select_list [INTO new_table] | 선택한 컬럼을 반환, INTO ... 선택적으로 새로운 테이블에 저장 |
FROM table_source | 데이터를 가져올 테이블을 지정 |
WHERE search_condition | 조건에 맞는 행을 필터링 |
GROUP BY group_by_expression | 행을 그룹화 |
HAVING search_condition | 그룹화된 행을 필터링 |
ORDER BY order_expression [ASCㅣDESC] | 결과를 정렬, ASC = 오름차순 / DESC = 내림차순 |
가장 간단한 SELECT 형식
SELECT 열목록
FROM 테이블
WHERE 조건
USE 구문
USE 데이터베이스_이름
SELECT와 FROM
USE
구문과 SELECT
구문을 사용하는 예제.
USE Adventureworks
SELECT * FROM HumanResources.Employee
SELECT * FROM [HP-PC].AdventureWorks.
HumanResources.Employee
SELECT Name, GroupName FROM
HumanResources.Department
위 예제에서는 Adventureworks
데이터베이스를 사용하고,
HumanResources.Employee
테이블과
HumanResources.Department
테이블에서
데이터를 선택하는 방법
DB 이름, 스키마이름, 테이블 이름 등이 정확히 기억나지 않을 때
데이터 베이스 목록 조회
EXEC sp_helpdb;
테이블 정보 조회
EXEC sp_tables @table_type = "'TABLE'";
열 이름 조회
EXEC sp_columns
@table_name= ‘테이블이름’,
@table_owner= ‘스키마이름’;
조건조회 <SELECT...FROM...WHERE>
기본적인 WHERE 절
SELECT 필드이름 FROM 테이블이름 WHERE 조건식
관계연산자의 사용
SELECT userID, name FROM userTbl
WHERE birthYear >= 1970 AND height >= 182
userTbl 테이블에서 userID와 name을 검색
여기서 birthYear는 1970보다 크고 키는 182보다 커야한다
BETWEEN... AND와 IN()
/* height를 조건으로 180과 183 사이인 사용자 검색 */
SELECT name, height FROM userTbl WHERE height
BETWEEN 180 AND 183
/* addr이 '경남', '전남', '경북' 중 하나인 사용자 검색 */
SELECT name, addr FROM userTbl WHERE addr IN ('