레코드 검색 (3)


열 값 이어 붙이기

여러 열의 값을 하나의 열로 반환하려고 한다면?

SELECT ename, job
FROM emp
WHERE deptno = 10

다음과 같은 구문의 대한 결과를 하나의 열로 반환하기 위해서, CONCAT를 사용하여 하나의 열로 반환해보려고 한다.

  • CONCAT은 MySql에서 지원하는 함수이다!
  • SQL Server => + 을 사용하자
  • DB2, Oracle, PostgreSQL => || 을 사용하자

🙋🏻‍♂️ 한마디로 CONCAT은 여러 열의 값을 연결해준다.

SELECT CONCAT(ename, ' WORKS AS A ' ,job) AS msg
FROM emp
WHERE deptno = 10


SELECT 문에서 조건식 사용하기

SELECT 문의 값에 대하여 IF-ELSE 연산을 사용해보려고 한다.

사원의 급여를 기준으로하여 2,000달러 이하는 'UNDERPAID' 4,000 달러 이상은 'OVERPAID'라는 메세지를 반환하고, 그 사이의 급여들은 'OK'라는 메시지를 반환하도록 해보자.

SELECT ename, sal,
	CASE WHEN sal <= 2000 THEN 'UNDERPAID'
		 WHEN sal >= 4000 THEN 'OVERPAID'
         ELSE 'OK'
	END AS status
FROM EMP


반환되는 행의 수 제한하기

쿼리에서 반환되는 행의 수를 제한해보자

MySQL && PostgreSQL

SELECT * FROM emp LIMIT 5

DB2

SELECT * FROM emp FETCH FIRST 5 ROWS ONLY

Oracle

SELECT * FROM emp WHERE ROWNUM <= 5
  • Oracle에서 사용하는 ROWNUM 함수는 각 행에 대해 숫자를 반환한다 (1에서 시작하는 증갓값)

SQL Server

SELECT TOP 5 * FROM emp 

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

0개의 댓글