[프로그래머스] 조건에 맞는 사원 정보 조회하기
·
SQL
얻을 수 있는 것이 많은 문제라고 생각한다. 이 문제의 핵심1. 2022년 상/하반기 점수를 합산2. 직원별 총점 계산3. 그중 최고 점수인 직원 조회 흐름1. 1차 그룹화직원별로 묶어서 상/하반기 점수 합산 2. 최고 점수 구하기MAX(SUM(SCORE))는 바로 사용하지 못 하므로 서브쿼리로 한 번 감싸서 직원별 총점을 먼저 만든 뒤그중 MAX를 구하는 구조 실행 순서FROM→ WHERE→ GROUP BY→ HAVING→ SELECT→ ORDER BYWHERE = 그룹화 전 필터HAVING = 그룹화 후 필터 [최종 답안]SELECT SUM(G.SCORE) AS SCORE , E.EMP_NO , E.EMP_NAME , E.POSITION , E.EMAIL ..
SQL CASE문 정리
·
SQL
오늘 Programmers에서 SQL 고득점Kit 문제를 풀던 중 CASE문에 대해 새롭게 안 부분이 있어서 다시 공부한 김에 블로그에 간단하게정리해 보려고 한다. CASE란?CASE는 SQL에서 조건에 따라 다른 값을 반환하는 문법이다. 자바에서if / elseswitch와 비슷한 역할은 한다고 이해하면 된다. 기본 형태CASE WHEN 조건 THEN 값 WHEN 조건 THEN 값 ELSE 값END 기본 예시SELECT NAME, SCORE, CASE WHEN SCORE >= 90 THEN 'A' WHEN SCORE >= 80 THEN 'B' WHEN SCORE >= 70 THEN 'C' ..
SQLD 공부 2일차
·
SQL
BEGIN TRANSACTION (= BEGIN TRAN)BEGIN TRANSACTION으로 트랜잭션을 시작하고, COMMIT TRANSACTION 또는 ROLLBACK TRANSACTION으로 종료한다.ROLLBACK을 수행하면 가장 처음 BEGIN TRANSACTION을 실행한 시점까지 모든 작업이 취소된다.ROLLBACK은 아직 COMMIT되지 않은 상위 트랜잭션 전체에 영향을 준다.SAVEPOINT(저장점)트랜잭션 전체를 롤백하지 않고, 특정 지점까지만 되돌리고 싶을 때 사용한다.SAVEPOINT를 지정해두면 해당 시점 이후의 작업만 부분적으로 롤백할 수 있다.OracleSAVEPOINT save_name;...ROLLBACK TO save_name;SQL ServerSAVE TRANSACTION..
SQLD 공부 1일차
·
SQL
SQL 문장의 종류SQL 문장은 역할에 따라 크게 DML, DDL, DCL, TCL로 구분된다.DML (Data Manipulation Language)데이터를 조회하거나 조작할 때 사용하는 명령어이다.명령어설명SELECT데이터 조회INSERT데이터 삽입UPDATE데이터 수정DELETE데이터 삭제DDL (Data Definition Language)테이블과 같은 데이터 구조를 생성·변경·삭제할 때 사용하는 명령어이다.명령어설명CREATE테이블 생성ALTER테이블 구조 수정DROP테이블 삭제RENAME테이블 이름 변경DCL (Data Control Language)데이터베이스 접근 권한을 제어하는 명령어이다.명령어설명GRANT권한 부여REVOKE권한 회수TCL (Transaction Control Lang..