해당하는 테이블의 모든 데이터를 보려고 한다면..
select *
from tableName
SQL에서 *
은 특별한 의미를 가진다. 이 옵션을 사용하면 지정한 테이블의 모든 열이 반환이 된다.
WHERE절을 지정하지 않았으므로 모든 행이 반환이 된다.
대체 방법은 각 열을 개별적으로 나열하는 것이다.
select empno, ename, job, sal, mgr, hiredate, comm, deptno from emp
둘다 아래와 같은 동일한 결과가 나오는 것을 볼 수 있다.
테이블에서 특정한 조건을 충족하는 행의 데이터들만 보려고 한다면..
select * from emp where deptno = 10
WHERE 절의 식이 해당 행에 대하여 참이면 해당 행(데이터)이 반환된다.
대부분의 벤더는 =, <, >, <=, >=, <> 와 같은 일반 연산자를 지원한다.
🙋🏻♂️ MySQL에서는 <>가 != 연산자를 뜻한다!!
또는 여러 조건을 만족하는 행을 가져오길 원한다면, AND, OR 및 괄호를 지정 할 수 있다!
select * from emp where deptno = 10 AND comm IS NULL
이런식으로도 조건을 줄 수 있으며 역시나 같은 결과가 나올 것이다.
더욱더 복잡한 조건을 준다면 이런식으로도 줄 수 있다.
select * from emp where deptno = 10 or comm is null or sal <= 2000 and deptno=20
👇 SQL 키워드에 대문자를 사용하는것을 보통은 선호한다. 알아서 본인의 규칙을 정하여 가독성이 좋게 만들어 쓰자
SELECT * FROM emp WHERE deptno = 10 OR comm IS null OR sal <= 2000 AND deptno=20
WHERE 절은 다음과 같은 작업을 수행하여 행을 찾는다.
괄호가 있으면 괄호 안의 조건을 함께 평가한다. 쿼리를 괄호로 작성하면 다른 결과가 나올 것이다.
SELECT *
FROM emp
WHERE ( deptno = 10
OR comm IS null
OR sal <= 2000)
AND deptno=20