< 데이터를 조회하는 3가지 방법>
select [ *|| all || distinct] 속성이름 or 집계함수 : [ 행 || 전체 || 중복제거] from + 테이블 이름 ;
where +검색조건
: 비교(=,<>,<,>,<=,>=), 범위(between A and B), 집합(in(), not in()) , 패턴(like), 복합 (and, or, not)등의 조건들을 넣을 수 있음.
◈ like (내용 검색기능) : 특정 문자열이 포함된 데이터를 조회 할때
= 와일드문자 % : 길이와 상관없이 (공백 포함) 모든 문자 데이터를 의미. 문자의 대소문자 구별해 주어야 한다.
_ : 자릿값 표기 ex)두번째 글자가 L = '_L%'
!!! 와일드 문자가 데이터에 포함된 경우 escape '\'로 처리
==> ex) _A로 시작하는 문자 : like '_A%'
◈ IS NULL : null은 어떤 연산자도 처리 되지 않고 항상 null 이라서 비교 연산자 사용 불가
==> null의 존재를 확인하기 위해서는 is (not) null로 확인해야함.
◈ 집합 연산자
합집합 (union)
: 열의 개수와 자료형이 동일해야 함. (테이블은 달라도 가능)
==>서로 다른 테이블의 결과를 한 판으로 보고싶을때 자동으로 distinct 처리해줌.
!!!! union all : 중복제거 없이 모든데이터 출력
ex) select empno, ename, sal from emp where deptno =10 union select empno, ename, sal from emp where deptno =20;
차집합 (minus)
: 먼저 작성한 select 문의 결과 값에서 나중에 작성한 select 문의 결과값을 뺀 나머지를 출력.
ex)select empno, ename, sal from emp minus select empno, ename, sal from emp where deptno =10;
교집합 (intersect)
: 먼저 작성한 select 문의 결과 값과 나중에 작성한 select 문의 결과값이 같은 것만 출력.
ex)select empno, ename, sal, deptno from emp intersect select empno, ename, sal, deptno from emp where deptno =10;
☆연산자 우선순위☆
0. ( )
1. *,/
2. +,-
3. =,!=,^=,<>,>,>=,<,<=
4. IS(NOT) NULL, (NOT)LIKE, (NOT)IN
5. BETWEEN A AND B
6. NOT
7. AND
8. OR
order by +속성이름 (asc || desc) : (오름차순 || 내림차순)
: 검색한 속성의 결과를 정렬.
group by + 속성이름
: 속성을 기준으로 그룹을 만들고 select 절에는 group by에 사용한 속성을 써야함.
having + 검색조건
: 무조건 group by절과 함께 써야하고, where보다 뒤에 나와야 함.
: 검색 조건에는 sum, avg,min,max,count 와 같은 집계 함수가 나와야함.