본문 바로가기

MySQL

220817

CASE WHEN ... THEN ... (ELSE ...) END ...

SELECT de.dept_no, e.first_name, e.gender,
	(SELECT s.salary FROM salaries s
    WHERE s.emp_no = e.emp_no
    ORDER BY from_date DESC LIMIT 1) AS last_salary
FROM dept_emp de, employees e
WHERE e.emp_no = de.emp_no
AND de.dept_no = 'd001';


-- 조건 추가 : 성별 F인 경우에만 last_salary 출력 (M일 경우, 0)
SELECT de.dept_no, e.first_name, e.gender,
	CASE 
		WHEN e.gender = 'F' 
		THEN (SELECT s.salary FROM salaries s
			WHERE s.emp_no = e.emp_no
			ORDER BY from_date DESC LIMIT 1)
		ELSE 0 END last_salary
FROM dept_emp de, employees e
WHERE e.emp_no = de.emp_no
AND de.dept_no = 'd001';

 

 

SLEEP

-- 레코드 건수마다 0.5초씩 대기 > 총 10개의 레코드이므로 5초 대기
SELECT *, SLEEP(0.5)
FROM employees
WHERE emp_no BETWEEN 10001 and 10010;

 

 

~ 52p. SELECT 부터.

'MySQL' 카테고리의 다른 글

update 전  (0) 2022.09.21
220921  (1) 2022.09.21