글쓰기

스마트인재개발원/오라클 SQL 교육

SQL수업 정리2 (distinct , where , 연산)[스마트인재개발원]

RSpring41 2021. 6. 13. 22:05


<distinct column>
 중복 컬럼 제거
#distinct column, column > 그룹화 되어서 멀티플 중복 제거
처음 커럼 기준 그룹화, 두번째 컬럼 기준 중복 제거

 

- (왼쪽)select manager_id, department_id from employees; 실행 결과

- (오른쪽) select manager_id, department_id from employees; 실행 결과

 

 

 


<where column = x(조건)>
조건절 or 행을 제한하는 절, 컬럼값이 동일한 값들만 출력
# from절 이후 where절 실행후 select절이 실행되므로 alias명 사용 불가
# where department_id = 90 여기서 90이 리터럴 문자
-> 값이 문자, 날짜인 경우 반드시 'val' 작은 따음표 사용 단 숫자는 사용하지 않음

 

- (왼쪽)sselect salary from employees; 실행 결과

- (오른쪽) select salary from employees where salary > 3800; 실행 결과

 


#연산기호는 다른 기호와 같음
1. '<>' 와 '!=' 는 같지만 '<>'보다는 '!=' 가 성능상 좋다
2. BETWEEN A AND B : A와 B 사이 (문자, 날짜 작은 따음표,    숫자는 필요없음)
3. IN(set) : 값 몰록 주으이 값과 일치(복수 연산자)      ->  ex[department_id in (20, 50)]
4. LIKE : 문자에 같은 문자가 포함되어 있는지 검사  ('%'문장 전체,  '_' 문자 하나,  '#'숫자 하나)
-> '='에서는 사용 불가능 꼭 LIKE에서만 사용가능 format 주의 ex) where column like 'a_%'
5. IN NULL : 널 값 검사 <---? is not null
6. AND, OR, NOT사용 가능 단 IS NOT NULL, 크기비교 NOT사용 불가
-> 범위 지정 필요할시 BETWEEN 사용

 

- select salary from employees where salary between 3200 and 3800; 실행결과




<ORDER BY>
컬럼 정렬 # ASC, DESC
ASC 오림차순, 기본설정으로 생략 가능
DESC 내림차순 
컬럼 순서대로 숫자로도 사용 가능
컬럼에 as 별명 이 아니라 "별명" 이라는 alias를 사용했다면 order by 에서도 "별명" 사용해야함
멀티플 정렬 : 그룹화 하여 정렬, SELECT절에 선언된 순서대로 정렬됨
ex) 
SELECT department_id, sum(salary)
FROM employees
GROUP by department_id
ORDER BY department_id ASC

 

- select salary from employees where salary between 3200 and 3800; 실행 결과

 

 

https://www.smhrd.or.kr/

 

스마트인재개발원

4차산업혁명시대를 선도하는 빅데이터, 인공지능, 사물인터넷 전문 '0원' 취업연계교육기관

www.smhrd.or.kr