본문 바로가기

분류 전체보기38

SQL 특수 query (CASE 구문) / DECODE 함수 / SUBSTR 함수 / ROWNUM으로 순위 구하기 / SUB QUERY 사용해서 순위 구하기 * CASE 구문 == switch -- 방법1 SELECT employee_id, first_name, phone_number, CASE SUBSTR(phone_number, 1, 3) WHEN '515' THEN '서울' WHEN '590' THEN '부산' WHEN '650' THEN '광주' ELSE '기타' END as "지역" FROM employees; -- 방법2 SELECT employee_id, first_name, phone_number, CASE WHEN SUBSTR(phone_number, 1, 3) = '515' THEN '서울' WHEN SUBSTR(phone_number, 1, 3) = '590' THEN '부산' WHEN SUBSTR(phone_number, 1, 3) = .. 2021. 12. 27.
SQL SUB QUERY 서브쿼리 예제 문제1) EMPLOYEES 테이블에서 (Kochhar의 급여)보다 많은 사원의 정보를 사원번호,이름,담당업무,급여를 출력하라. SELECT employee_id, first_name, job_id, salary FROM employees where salary > (SELECT salary FROM employees WHERE last_name = 'Kochhar'); 문제2) EMPLOYEES 테이블에서 (급여의 평균)보다 적은 사원의 정보를 사원번호,이름,담당업무,급여,부서번호를 출력하여라. SELECT employee_id, first_name, job_id, salary, department_id FROM employees WHERE salary < (SELECT ROUND(avg(salary)).. 2021. 12. 27.
SQL SUB QUERY 서브쿼리 / 단일 ROW, COLUMN / 다중 ROW, COLUMN * SUB QUERY - QUERY안의 QUERY SELECT 단일 ROW 단일 COLUMN (산출되는 데이터는 한개, 컬럼도 한개) FROM 다중 ROW 다중 COLUMN WHERE 다중 ROW 다중 COLUMN * SELECT 절 SELECT employee_id, first_name, (SELECT first_name -- 단일 컬럼(O) FROM employees WHERE employee_id = 100) -- 단일 행(O) FROM employees; -- 다중 행이기 때문에 안되는 경우 SELECT employee_id, first_name, (SELECT first_name -- 단일 컬럼(O) FROM employees WHERE salary > 10000) -- 다중 행(X) FROM .. 2021. 12. 27.
SQL JOIN 예제 (INNER JOIN / SELF JOIN) 문제1) 사원들의 이름, 부서번호, 부서명을 출력하라 SELECT e.first_name, e.department_id, d.department_name FROM employees e, departments d WHERE e.department_id = d.department_id; 문제2) 30번 부서의 사원들의 이름,직업,부서명을 출력하라 SELECT e.first_name, j.job_title, d.department_name FROM employees e, departments d, jobs j WHERE e.department_id = d.department_id AND e.job_id = j.job_id AND d.department_id = 30; 문제3) 커미션을 받는 사원의 이름, 직업.. 2021. 12. 27.