간단한 데이터 검색
1. AS 키워드와 *
1) 실습용 데이터 생성 :
실습을 위한 테이블 및 튜플들을 생성함
5SQLDatapopulate.sql
- DB 이름 : MagicCorp
- 테이블 : DEPARTMENT, EMPLOYEE, SALGRADE
① File ⇨ Open ⇨ File…
② 실습용 파일 선택
③ 실행
2) 무조건 검색
SELECT 속성명1, 속성명2,…
FROM 테이블명
예) 모든 부서 정보 검색
3) *
- 모든 속성명을 쓰기 힘듦
- “*” 를 사용함
- SELECT절에서 *는 모든 속성이란 의미임
예) 모든 부서 정보 검색
4) AS 키워드
① 질의 결과의 속성명을 바꾸어서 나타나게 함
② 질의결과에 수식을 넣을 수 있음
③ 속성명이 없음
④ AS 키워드로 속성명을 부여함
예) 사원 테이블에서 사원명과 봉급*12 검색
2. 간단한 조건 검색
1) WHERE 절
예) 사원 테이블(EMPLOYEE)에서 사원번호(ENO) 110번의 이름(ENAME)과 부서번호(DNO) 검색
- 조건 : 사원번호 110번
- WHERE 절을 사용함
2) 비교 연산자 :
WHERE 절에서 문자, 숫자, 날짜의 크기나 순서를 비교함
- 같다 : =
- 같지 않다 : !=, <>
- 크다 : >
- 크거나 같다 : >=
- 작다 : <
- 작거나 같다 : <=
3) 논리 연산자 :
WHERE 절에서 여러 개의 조건을 결합할 경우
- X AND Y : X, Y가 참일 때 참을 반환
- X OR Y : X나 Y가 참일 때 참을 반환
- NOT X : X가 거짓일 때 참을 반환
예) 사원 테이블에서 부서번호(DNO)가 20번이고 봉급(SALARY)이 400이상인 사원의 이름(ENAME)과 직책(JOB) 검색
- 조건 : DNO = 20 AND SALARY >= 400
4) DISTINCT
- SQL은 Bag 을 기반으로 함 :
중복된 것들도 다 나옴
- 중복된 것을 제거하고 한번만 나오게 하는 방법 :
DISTINCT를 사용함
예) SELECT DISTINCT 속성명 …
예) 사원 테이블에서 모든 직급(JOB) 검색
예) 사원 테이블에서 모든 직급을 중복 없이 검색
복잡한 데이터 검색
1. BETWEEN, IN, IS NULL
1) BETWEEN a AND b :
검색 조건의 상한과 하한을 지정함
- 속성 X가 10보다 크거나 같고 50보다 작거나 같음
- X>=10 AND X<=50
X BETWEEN 10 AND 50
예) 사원 테이블에서 봉급이 400보다 크거나 같고 600보다는 작거나 같은 사원들의 정보 검색
2) IN(a, b, c, …) :
속성값이 a, b, c ,… 중 하나라도 일치하면 참
- 속성 X가 10이거나 20이거나 30임
- X = 10 OR X = 20 OR X = 30
X IN(10, 20, 30)
예) 직급이 ‘section’이거나 ‘senior’인 사원들의 이름과 직급 검색
3) IS NULL :
NULL 값은 어떤 비교를 하든 거짓임
- 사원 테이블에서 COMMISSION 값이 NULL인 튜플들이 있을 경우
① X = NULL ⇨ X가 NULL 값이어도 이 결과는 거짓
② 결과가 없음
=> IS NULL을 이용함
- NULL 값이 아닌 것들을 찾는 방법
⇨ IS NOT NULL을 이용함
2. 문자열 검색
1) LIKE 연산자
- 컬럼에 저장된 문자열 중에서 LIKE 연산자에서 지정한 문자 패턴과 부분적으로 일치하면 참이 되는 연산자
2) 부분 문자열 검색에 사용되는 패턴
- % : 임의의 길이의 문자열
- _ : 글자 한자
3) 부분 문자열 검색에 사용되는 패턴
예) 부서 테이블에서 부서명(DNAME)이 H로 시작하고 n으로 끝나는 부서의 위치(Loc) 검색
4) 질의문의 결과는 테이블에 입력된 순서대로 출력됨
- 데이터의 출력 순서를 특정 속성값을 기준으로 오름차순 또는 내림차순으로 정렬해야 하는 경우가 자주 발생함
3. ORDER BY 절
1) ORDER BY 절
ORDER BY {column_name} [ASC|DESC]
- ASC : 오름차순으로, 기본값(생략가능)
- DESC : 내림차순, 생략불가능
예) 봉급(Salary) 기준 내림차순으로 사원들의 이름, 봉급, 부서 번호 출력
2) 다중 속성 정렬
예) 봉급(Salary) 기준 내림차순으로 사원들의 이름, 봉급, 부서 번호 출력
- 봉급이 같은 경우에는 부서번호가 낮은 순으로(오름차순) 정렬함
'컴퓨터 > SQL' 카테고리의 다른 글
트랜잭션 (0) | 2020.01.22 |
---|---|
데이터 삽입과 변경 (0) | 2020.01.22 |
제약조건 (0) | 2020.01.21 |
데이터 구조 생성과 변경 (0) | 2020.01.20 |
SQL의 개념과 T-SQL (0) | 2020.01.20 |