0127. SQL 활용 TEST

CHOISUJIN·2023년 1월 26일
0
post-thumbnail

☑️ SQL

SQL? 관계형 데이터베이스에서 데이터를 조회하거나 조작하기 위해 사용하는 표준 검색 언어
원하는 데이터를 찾는 방법이나 절차를 기술하는 것이 아닌 조건을 기술하여 작성
DQL : SELECT
DML : INSERT, UPDATE, DELETE
DDL : CREATE, ALTER, DROP
TCL : COMMIT, ROLLBACK
DCL : GRANT, REVOKE

☑️ DBMS

데이터베이스를 관리하는 프로그램

☑️ 데이터 타입

  • NUMBER : 숫자형 --> 정수, 실수 구분 없음
  • CHAR : 고정 길이 문자형 --> 최대 2000바이트
    ex) CHAR(100) : 영문자 100 바이트
  • VARCHAR2 : 가변 길이 문자형 --> 최대 4000바이트

☑️ SELECT

데이터를 조회한 결과를 RESULT SET이라고 한다. 즉, 조회된 행들의 집합!

☑️ TABLE

일종의 표 형태로 표현한 것!
행과 열로 구성되는 가장 기본적인 데이터베이스 객체
테이터베이스 내에서 모든 데이터는 테이블을 통해서 저장된다

☑️ 함수

  • SUBSTR
  • UPPER
  • INITCAP : 조회한 컬럼이 영문자일 경우 앞글자를 대문자로 바꿔주는 함수
  • TRIM : 조회한 컬럼 양 끝에 띄어쓰기나 빈칸이 있을 경우, 이를 제거해주는 함수
  • DECODE
  • ROLL UP : 그룹별로 중간 집계 처리를 하는 함수
  • 문자열 날짜로 바꾸는 SELECT문
  • UNION/UNION ALL : UNION ALL은 중복결과를 포함한 결과를 나타내는 연산자
  • INTERSECT : 선행 SELECT 결과에서 다음 SELECT 결과와 겹치는 부분만을 추출한 것(교집합)
  • MINUS : 선행 SELECT 결과에서 다음 SELECT 결과와 겹치는 부분을 제외한 나머지 부분 추출(차집합)
  • CONCAT : 여러 문자열을 하나로 합쳐주는 역할
SELECT CONCAT(CONCAT(CONCAT(CONCAT(EMP_ID, ', '), EMP_NAME), ', '), EMP_NO) 
FROM EMPLOYEE;

☑️ JOIN

  • INNER JOIN : 교집합! 연결된 컬럼의 값이 일치하는 행들만 JOIN 된다 --> NULL값 제외
  • LEFT OUTER JOIN : 왼쪽 테이블 컬럼 수를 기준으로 JOIN 된다 --> NULL값 포함
  • RIGHT OUTER JOIN : 오른쪽 테이블 컬럼 수를 기준으로 JOIN 된다 --> NULL값 포함

☑️ SUBQUERY

  • ROWNUM 컬럼 : 행 번호를 나타내는 가상 컬럼 --> 인라인뷰
SELECT ROWNUM, EMP_NAME, SALARY
FROM (SELECT EMP_NAME, SALARY 
		FROM EMPLOYEE 
		ORDER BY SALARY DESC
);
  • RANK() OVER : 동일한 순위 이후의 등수를 동일한 인원수 만큼 건너뛰고 순위 계산
SELECT RANK() OVER (ORDER BY SALARY DESC) "순위",
	EMP_NAME, SALARY
FROM EMPLOYEE;
  • DENSE_RANK() OVER : 동일한 순위 이후의 등수를 이후의 순위로 계산
SELECT DENSE_RANK() OVER (ORDER BY SALARY DESC) "순위",
	EMP_NAME, SALARY
FROM EMPLOYEE;
profile
매일매일 머리 터지는 중 ᕙ(•̀‸•́‶)ᕗ

0개의 댓글