목록자격증/sqld (8)
최코딩의 개발

PL/SQL - SQL을 확장한 절차적 언어이다. - Block 구조로 되어있어 각 기능별로 모듈화가 가능하 다. - IF, LOOP 등의 절차형 언어를 사용하여 절차적인 프로그램이 가능하도록 한다. - 오라클에 내장되어 있다. - 응용 프로그램의 성능을 향상시킨다. - 여러 SQL 문장을 Block으로 묶고 한 번에 Block 전부를 서버로 보내기 때문에 통신량을 줄 일 수 있다. - 이식성이 좋고 예외 처리 가능하다. - DDL 문장을 실행할 때 EXECUTE IMMEDIATE를 사용해야 한다. 트리거 - DML 실행 후 자동으로 실행 - TCL 사용 못함 - 데이터의 무결성과 일관성을 위해서 사용자 정의 함수를 사용함 프로시저 - EXECUTE 명령으로 실행 - TCL 실행 가능 옵티마이저 가장 효..

개요: 마지막 정리 게시물이다. DML - 이것은 Data Manipulation Language란 의미로 DDL에서 정의한 대로 데이터를 입력하고 입력된 데이터를 수정, 삭제, 조회하는 명령어이다. - 사용자가 무슨 데이터를 원하는지 - 호스트 프로그램 속에 삽입되어 사용되는 DML 명령어들을 데이터 부속어라고 한다. INSERT INSERT INTO 테이블명 VALUES (전체 컬럼에 입력될 데이터 리스트); - 테이블에 데이터를 입력하는 명령어이다. - 이때 명시되지 않은 컬럼에는 NULL 값이 입력되나 PK나 NOT NULL 제약조건이 걸린 컬럼에는 NULL 값 입력 안됨 - 전체 컬럼에 대한 데이터가 테이블의 순서대로 빠짐없이 나열되어야 하는데 순서가 뒤바뀌거나 데이터 유형이 안맞는 경우 에러 ..

윈도우 함수 - over 키워드와 함께 사용된다. - 윈도우 함수 처리로 인해 결과 건수는 줄어들지 않는다. 순위 함수 RANK - 순위를 매기면서 같은 순위가 존재하면 존재하는 수만큼 다음 순위로 건너뛴다. DENSE_RANK - 순위를 매기면서 같은 순위가 존재하더라고 다음 순위를 건너뛰지 않고 이어서 매긴다. ROW_NUMBER - 순위를 매기면서 동일한 값이라도 각기 다른 순위를 부여한다. 집계 함수 SUM - 데이터의 합계를 구하는 함수이다. - SUM 하는 컬럼은 OVER 절에서 OREDER BY 절에 명시해주게 되면 RANGE UNBOUNDED PRECEDING 구문이 없어도 누적합이 집계된다. - RANGE 옵션은 동일한 데이터가 있을 경우 모두 합한 값을 출력한다. (230P) MAX 데..

서브쿼리 하나의 쿼리안에 존재하는 또 다른 쿼리이다. 바깥에 있는 쿼리를 메인 쿼리 안에 있는 쿼리를 서브쿼리이다. SELECT, FROM, WHERE, HAVING, ORDER BY, INSERT문의 VALUES절, UPDATE문의 SET 절 스칼라 서브쿼리 - 주로 SELECT절에 위치하지만 컬럼이 올 수 있는 대부분 위치에 사용할 수 있다. - 컬럼 대신 사용되므로 반드시 하나의 값만을 반환해야 한다. - UPDATE 문의 SET 절, ORDER BY 절에 올 수 있다. 인라인 뷰 FROM 절 등 테이블명이 올 수 있는 위치에 사용이 가능하다. 중첩 서브쿼리 - WHERE 절과 HAVING 절에 사용할 수 있다. 비연관 서브쿼리: 서브쿼리 내에 메인 쿼리와 관계를 맺지 않음 (주로 메인쿼리에 값을 ..

WHERE 절 INSERT를 제외한 DML문을 수행할 때 원하는 데이터만 골라 수행할 수 있도록 해주는 구문이다. 조건식에서 컬럼명은 반드시 좌측에 있어되지만 우측에 있어도 정상적으로 동작이 된다. 부정 비교 연산자 같지않음 !=, ^=, , not컬럼명= SQL 연산자 - BETWEEN A AND B - A와 B사이(A,B포함) - LIKE "비교 문자열" - 비교문자를 포함: WHERE COL LIKE "%승호" '-','%' 문자를 찾고 싶으면 ESCAPE '#'으로 지정해 '#_', '#%' 이렇게 그대로 인식이 된다.(158p) - IN(LIST) - LIST WND 하나와 일치 : WHRE COL IN(1,2) / OR 써서 가능 (108p) 논리 연산자 ( ) -> NOT -> AND -> ..

관계형 데이터베이스 흔히 RDB라고 불리는 관계형 데이터베이스이다. 이것은 모든 데이터를 2차원 테이블 형태로 표현한 뒤 각 테이블 간의 관계를 정의하는 것으로 시작된다. 이때 sql은 관계형 데이터베이스에서 데이터를 다루기 위해 사용하는 언어이다. SELECT - 컬럼을 따로 명시하지 않고 *를 쓰면 전체 컬럼이 조회되며 조회되는 컬럼의 순서는 테이블 컬럼순서와 동일하다. 추가로 Alias를 붙여 약어로 가능하다. - *과 반대로 DISTINCT 은 중복을 1건으로 처리한다. - 또한 별도로 Alias를 붙이지 않으면 대문자가 출력된다. 합성연산자 || 이렇게 해서 문자와 문자를 연결할 때 사용하는 연산자이다. || " " || 이렇게 있으면 공백이다. 함수 문자 함수 SELECT CHR(65) FRO..