햄코딩
SQL DAY 1 본문
220510 DAY 18
■ 기초
💡 주의
1. SQL 명령어는 대소문자를 가리지 않는다.
2. 속성 역시 대소문자를 가리지 않는다.
3. 테이블 이름 역시 대소문자를 가리지 않는다.
4. 테이블에 저장된 문자 데이터는 대소문자를 가린다.
■ order by : 데이터 정렬
- order by 뒤에는 정렬 기준 속성이 옴
- order by 뒤에는 ,(comma)를 사용하여 정렬 기준 속성 여러 개를 위치시킬 수 있다.
- asc(오름차순) : 숫자(작은 숫자가 위), 문자(사전 순서), 날자(오래된 날짜가 위), null(맨 아래)
- desc(내림차순) : 숫자(큰 숫자가 위), 문자(사전 역순), 날자(오래된 날짜가 아래), null(맨 위)
- 기본적으로 asc가 적용되고 있다.
■ like : 비슷한 데이터 검색
- 오라클의 문자열은 작은 따옴표!
- **wild card(%, _)**와 함께 사용. 단독으로 쓰이지 않는다.
- like와 함께 쓰이는 % : 모든 글자를 의미(글자 수와 무관)
- like와 함께 쓰이는 _ : 한 글자를 의미
■ distinct, count, dual
■ alias : 가명 붙이기
1. 속성 이름에 가명을 붙일 수 있다.
- as가 원칙이며, as는 생략 가능하다.
- 큰 따옴표 사용 가능하며, 생략 가능하다.
- 큰 따옴표 사용 시에만, 중간에 공백 입력 가능
2. 테이블 이름에 가명을 붙일 수 있다.
- as 사용 불가
- 큰 따옴표 사용 가능하며, 생략 가능하다.
- 큰 따옴표 사용 시에만, 중간에 공백 입력 가능
■ 속성 이름 표시
- 속성 이름을 표시할 때, 테이블명.속성명으로 표시 가능. 예) emp.ename
- 속성 이름을 표시할 때, 테이블가명.속성명으로 표시 가능. 예) 직원테이블.ename
■ null : ‘없다.’ 0도 아니고 공백도 아니다.
- 특정 속성이 null인 데이터를 찾으려면, 예) where comm is null;
- 특정 속성이 null이 아닌 데이터를 찾으려면, 예) where comm is not null;
- null과 계산한 결과는 null이다.
- nvl(null속성, b) : nvl은 null속성을 b값으로 변경 해주는 함수.
- nvl(comm, 0) → comm이 null이면 0으로 바꿔준다.
■ 문자열 붙이기 : ||, concat()
(1) ||을 이용하여 문자열 붙이기
(2) concat을 이용하여 문자열 붙이기
(3) 코드로 알아 보자.
cf. concat으로 3개 이상 쓰려면?
select concat('H','E','L','L','O') from dual;--error
select concat('H', concat('E', concat('L', concat('L', concat('O', concat(' ', ename)))))) from emp;
■ where 절의 확장 : and, or
- 조회 조건의 확장
- and : true and true → 교집합을 찾아 조회 결과가 줄어 든다.
- or : true or true → 합집합을 찾아 조회 결과가 늘어 난다.
■ 범위 검색
■ 포함, 불포함
- 포함 : in
- 불포함 : not in
■ union, union all, intersect, minus
💡 주의
1. select문 결과의 개수가 같아야 한다.
2. select문 결과의 data type이 같아야 한다.
union | 합집합 둘 이상의 select문의 결과를 합치는 명령어 중복 데이터는 자동 제거 |
union all | 합집합 둘 이상의 select문의 결과를 합치는 명령어 중복 데이터를 제거하지 않고 출력 |
intersect | 교집합 둘 이상의 select문의 결과 중에서 공통 부분만 출력하는 명령어 중복 데이터 제거 |
minus | 위에 위치한 select문의 결과에서 아래 위치한 select문의 결과를 뺀다. |