논리연산자
AND 연산자
SELECT name , deptno FROM emp WHERE deptno = 10 and sal≥1000;
SQL
복사
deptno가 10 이고 sal이 1000이상인 행을 반환 - 둘 다 만족
•
and연산자는 where 절에서 모든 조건이 충족하는 행을 반환한다.
OR 연산자
SELECT name , deptno FROM emp WHERE deptno = 10 or deptno = 20;
SQL
복사
deptno가 10 이거나 deptno가 20인 행을 반환
•
or 연산자는 첫 번째 조건 or 두 번째 조건 - 두 조건 중 한가지만 참이어도 TRUE
IN 연산자
SELECT name , deptno FROM emp WHERE deptno IN(10,20);
SQL
복사
deptno가 10 이거나 deptno가 20인 행을 반환
•
Select * from 테이블 where 컬럼 in(‘조건1’,‘조건2’,‘조건3’) = 조건 1 2 3 중 하나만 참이여도 true
NOT 연산자
SELECT name , deptno FROM emp WHERE deptno NOT IN(10,20);
SQL
복사
deptno가 10 이거나 deptno가 20이 아닌 행을 반환
•
단일로 사용되지 않는다.
true -> false
false -> true
where 컬럼 not in (‘조건1’,‘조건2‘) 조건1과 2를 제외한 나머지
집계함수
집계함수는 SELECT 구문에서만 사용하고 열 연산을 수행한다
Count
•
행들의 개수를 세는데 사용하며 count(칼럼) , count(*)로 지정할 수 있다.
SELECT count(sal) FROM emp; -> count(sal) = 6
SELECT count(*) FROM emp; -> count(*) = 7
SELECT count(distinct deptno) FROM emp; -> count(distinct deptno) = 2
SQL
복사
AVG
•
평균값을 구하는데 사용한다
•
null 값은 포함하지 않는다
MAX
•
특정 칼럼에서 가장 큰 값을 반환한다.
•
문자 또는 문자열인 경우에 사전 순으로 가장 느린 데이터를 반환한다.
SELECT max(name) FROM emp;
SQL
복사
MIN
•
특정 칼럼에서 가장 작은 값을 반환한다.
•
자 또는 문자열인 경우에 사전 순으로 가장 앞선 데이터를 반환한다.
SELECT min(name) FROM emp;
SQL
복사
SUM
•
sum() 함수에 검색된 모든 합을 반환한다.