본문 바로가기

sql

(19)
#SQL_5가지 수치 요약(MIN,1Q,2Q,3Q,MAX) 5가지의 수치는 데이터를 파악하는데 도움을 주는 값 입니다 ! 최소값, 1사분위수, 2사분위수, 3사분위수, 최대값이 있어요 1. 최소값(MIN) : 가장 작은 값을 의미한다. SELECT MIN(나이) -- 간단하게는 MIN(변수)로 나타냄 FROM 테이블 ; 혹은 SELECT PERCENTILE_CONT(0) WITHIN GROUP(ORDER BY 나이) -- 이 방법은 분위수를 구하는 값에 0을 넣으면 그것이 최소값 ! FROM 테이블 ; 2. 1사분위수 : 데이터를 오름차순으로 정렬하였을 때, 하위 25% 지점의 값을 의미한다. SELECT PERCENTILE_CONT(0.25) WITHIN GROUP(ORDER BY 나이) FROM 테이블 ; 3. 2사분위수 = 중앙값(MEDIAN) : 데이터를..
#SQL_데이터타입 문자형➡숫자형으로 변경 TABLE1에서 AGE변수의 MIN,MAX 값을 구하여라 !! (현재 AGE변수의 데이터타입은 VARCAHR2(2) 임) 위의 내용을 코드로 작성해보면 SELECT MIN(AGE), MAX(AGE) FROM TABLE1 ; 이러하다 ! 어랏 ? 오류창이 뜨네요 !? [변수를 숫자형이나 날짜형으로 변경하라.]와 같은 오류가 발생하게 됩니다 현재 AGE변수의 10이라는 것이 숫자가 아닌 문자로 인식하였기 때문에 계산을 할 수 없는 것이죠 그러므로 데이터타입을 변경해주는 작업이 필요합니다 !-! 많은 방법이 있겠지만 저는 WITH문에서 데이터타입을 변경해준 다음 바로 MIN,MAX값을 구하겠습니당 (WITH문이 무엇인지 궁금하시다면 아래의 링크 ㄱ ㄱ 해주세용 ^___^) https://cool21.tisto..
#SQL_IN / NOT IN 함수 IN의 활용법은 예시로 바로 확인하겠습니다 ~ 예시1 ) EMPLOYEES 테이블에서 DEPARTMENT_ID 변수가 30 또는 60 또는 90인 것을 출력하라 예시1의 결과는 아래와 같이 맨 오른쪽의 DEPARTMENT_ID열이 30,60,90 인 값을 출력하는 것을 확인할 수 있습니다 ! 예시2 ) EMPLOYEES 테이블에서 DEPARTMENT_ID 변수가 30 또는 60 또는 90이 아닌 것을 출력하라 예시2의 결과는 아래와 같이 DEPARTMENT_ID 열을 보면 30,60,90의 값을 제외한 값들이 출력된 것을 확인할 수 있습니다 ~ 이상 IN 함수에 대해 공부하였습니다 ♪(´▽`)
#SQL_DECODE DECODE 일반적인 프로그래밍 언어의 IF문을 SQL 문자로 사용하기 위하여 만들어진 오라클 함수이다. DECODE(VALUE, IF1, THEN1, IF2, THEN2,....., DEFAULT) - SELECT 시의 DECODE 사용은 FROM 절만 빼고 어디에나 사용할 수 있음. 단, 비교 연산은 '='만 가능 - VALUE 값이 IF1일 경우, THEN1 값으로 바꾸어주고, IF2일 경우, THEN2 값으로 바꾸어 줌. 만약 일치하는 것을 발견하지 못하면, DEFAULT값을 반환함. 단, DEFAULT 값이 생략되면, NULL 값 반환 예시를 통해 설명하겠습니다 ~! JOB_ID가 많은 순서대로 정렬한 후, 3의 직업에서 SALARY를 1.3 , 1.2 , 1.1 배 증가하고, 그 외엔 기존 S..
#SQL_WITH : 임시 테이블 생성 WITH '이름이 부여된 서브쿼리'라고 생각할 수 있어요. 임시 테이블이라고 해서 VIEW와 비슷하지만 둘의 차이점은 !! VIEW는 한 번 만들면 DROP할 때까지 없어지지 않지만 반면에 WITH절은 한 번 실행 할 쿼리문 내에 정의되어 있을 경우, 그 쿼리문 안에서만 실행돼요. WITH절을 사용하는 이유 복잡한 SQL에서 반복적으로 사용되는 부분에 이름을 부여하여 쉽게 재사용하게 함으로 쿼리 성능을 높일 수 있다고 해요 ! WITH절의 기본 형식 WITH 이름1 AS ( SELECT 변수들1 FROM 테이블명) SELECT 변수들2 FROM 이름1 ; 추가 다중 WITH문 WITH 이름1 AS ( SELECT 변수들1 FROM 테이블명1) , 이름2 AS ( SELECT 변수들2 FROM 이름1) S..
#SQL_GROUP BY , HAVING , ROLLUP 전체가 아닌 특정 그룹으로 묶어 데이터를 집계할 수도 있습니다. 이때 사용되는 구문이 바로 GROUP BY절입니다 ! 그룹으로 묶을 컬럼명이나 표현식을 GROUP BY 절에 명시해서 사용하며 GROUP BY 구문은 WHERE와 ORDER BY절 사이에 위치합니다. 예시) EMPLOYEES 테이블에서 각 부서별 급여의 총액을 구하라 여기서 급여의 총합이 100000 이상인 것을 구하고 싶으면 어떻게 하면 될까요 ? 이러한 경우에서는 HAVING절을 사용합니다 ! HAVING절은 GROUP BY절 다음에 위치하며 GROUP BY한 결과를 대상으로 다시 필터를 거는 역할을 수행합니다. 예시) EMPLOYEES 테이블에서 각 부서별 급여의 총액이 100000 이상인 것을 구하라 또 여기서 각각의 합도 보고싶지만..
#SQL_결측치 조회하기 데이터를 분석하기 전, 결측치를 확인하고 적절한 방법으로 처리하는 과정이 중요합니다. 이를 위해 결측치 확인하는법에 대해 알아보겠습니다 ! YES결측치 vs NO결측치 결측치를 조회하기 위해선 WHERE절에서 조건을 입력하면 된다. ▷ 결측치 조회하기 : IS NULL ▷ 결측치가 아닌 값 조회하기 : IS NOT NULL 예시) EMPLOYEES 테이블에서 MANAGER_ID가 결측치인 것을 구하라 예시) EMPLOYEES 테이블에서 MANAGER_ID가 결측치가 아닌 것을 구하라 https://cool21.tistory.com/11 #SQL_COUNT 데이터 건수 반환 COUNT 조회되는 데이터의 건수를 반환해주는 명령어 https://cool21.tistory.com/3 #SQL1 시작하기 안녕하세..
#SQL_문자 연결 (||) 이는 예시를 통해 바로 설명하겠습니다. EMPLOYEES 테이블 내에는 FIRST NAME과 LAST NAME 변수가 있는 것을 확인 할 수 있습니다. (아래 사진 참고) FIRST NAME과 LAST NAME을 '-'의 기호로 붙이면서 하나의 FULL_NAME 변수를 생성해보겠습니다. 붙이고자 하는 문자형 변수1 과 변수2 사이에 || ||기호를 두고 사이에 연결하고자 하는 것을 넣으면 됨 위의 예시에서는 FIRST NAME과 LAST NAME 변수 사이에 - 기호를 넣기 위해 FIRST_NAME || '-' || LAST_NAME