SQL 레코드 검색 (1)

준영·2022년 12월 17일
0
post-thumbnail

레코드 검색 (1)


테이블의 모든 행과 열 검색하기

해당하는 테이블의 모든 데이터를 보려고 한다면..

select *
	from tableName

SQL에서 *은 특별한 의미를 가진다. 이 옵션을 사용하면 지정한 테이블의 모든 열이 반환이 된다.
WHERE절을 지정하지 않았으므로 모든 행이 반환이 된다.

대체 방법은 각 열을 개별적으로 나열하는 것이다.

select empno, ename, job, sal, mgr, hiredate, comm, deptno from emp

둘다 아래와 같은 동일한 결과가 나오는 것을 볼 수 있다.


테이블에서 행의 하위 집합 검색하기

테이블에서 특정한 조건을 충족하는 행의 데이터들만 보려고 한다면..

부서 번호(deptno)가 10에 속한 모든 사원들을 보고 싶다면..

select * from emp where deptno = 10

WHERE 절의 식이 해당 행에 대하여 참이면 해당 행(데이터)이 반환된다.


여러 조건을 충족하는 행 찾기

대부분의 벤더는 =, <, >, <=, >=, <> 와 같은 일반 연산자를 지원한다.

🙋🏻‍♂️ MySQL에서는 <>가 != 연산자를 뜻한다!!
또는 여러 조건을 만족하는 행을 가져오길 원한다면, AND, OR 및 괄호를 지정 할 수 있다!

예제1

select * from emp where deptno = 10 AND comm IS NULL

이런식으로도 조건을 줄 수 있으며 역시나 같은 결과가 나올 것이다.

예제2

더욱더 복잡한 조건을 준다면 이런식으로도 줄 수 있다.

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 절은 다음과 같은 작업을 수행하여 행을 찾는다.

  • deptno가 10입니다.
  • comm이 nul이 아닙니다.
  • deptno가 20인 사원 중 급여가 2,000달러 이하입니다.

예제3

괄호가 있으면 괄호 안의 조건을 함께 평가한다. 쿼리를 괄호로 작성하면 다른 결과가 나올 것이다.

SELECT * 
	FROM emp 
 WHERE ( deptno = 10 
	 OR comm IS null
	 OR sal <= 2000)
     AND deptno=20

profile
개인 이력, 포폴 관리 및 기술 블로그 사이트 👉 https://aimzero-web.vercel.app/

0개의 댓글