💡조건문 [Java] 조건문: if문, switch문 제어문은 수많은 명령어들의 흐름(실행 순서)을 통제하는 수단을 의미한다. 제어문의 끝에 문장 종결자(;)를 사용하지 않는다는 특징이 있다. 제어문은 크게 조건문(조건 제어문)과 반복문(반복 isaac-christian.tistory.com PL/SQL 조건문은 Java의 조건문과 비슷한 점이 많다. if문 DECLARE vnum NUMBER := 10; BEGIN IF vnum > 0 THEN dbms_output.put_line('양수'); END IF; END; if else문 DECLARE vnum NUMBER := 10; BEGIN IF vnum > 0 THEN dbms_output.put_line('양수'); ELSE dbms_output.p..
💡PL/SQL PL/SQL의 정식 명칭은 Oracle's Procedural Language extension to SQL이다. PL/SQL은 기존의 ANSI-SQL에 절차 지향 언어 기능을 추가한 것이다. 우리가 쓰는 SQL은 문장 단위의 실행만을 할 수 있었다. 하나의 INSERT와 UPDATE가 위아래에 있다면 우연히 코딩한 위치가 비슷할 뿐, 서로 독립적인 것이었다. PL/SQL은 ANSI-SQL의 확장팩(변수, 제어 흐름(제어문), 객체(메서드) 정의)으로서, 이러한 SQL의 한계를 해소한다. 프로시저 프로시저(Procedure)는 메서드, 함수 등으로 구성된 순서가 있는 명령어의 집합이다. 모든 PL/SLQ 구문은 프로시저 내에서만 작성/동작이 가능하다. 이때 프로시저가 아닌 영역은 ANSI-..
💡정규화 정규화(Nomalization)는 자료의 손실이나 불필요한 정보를 없애고, 데이터의 일관성을 유지하며, 데이터의 종속성을 최소화해 주기 위해 ERD를 수정하는 작업이다. 쉽게 말해 모델링 작업을 하면서 만들어진 ERD를 올바르게 했는지 검증하는 작업이다. 정규화를 하면 ERD의 안정성이 높아지고, 작업하기 편하게 바뀐다. 최종적으로 정규화는 '부분 함수 종속'이나 '이행 함수 종속'을 모두 제거하고, 모든 컬럼의 관계를 '완전 함수 종속'으로 만드는 작업이다. 정규화의 상태 우리가 만든 테이블(ERD)를 비정형 상태 또는 비 정규화 상태라고 말한다. 이를 정규화 과정을 통해 올바르게 수정하고 고치고 나면 정규화 상태라고 한다. 대부분의 개발자들은 만들 때부터 정규화를 하면서 만든다. 정규화의 종..
💡데이터베이스 설계 1. 요구사항 수집 및 분석 2. 개념 데이터 모델링 3. 논리 데이터 모델링 4. 물리 데이터 모델링 5. 데이터베이스 구축(구현) 단계를 거쳐서 내려올수록 추상적인 설계도에 구체적인 내용이 추가된다. 현업에서는 논리 데이터 모델링부터 시작하기도 한다. 데이터 모델링 데이터 모델링은 요구 분석을 기반으로 분석하여 저장 구조를 만들고 도식화하는 작업이다. 도식화를 하면서 나오는 대표적인 산출물은 ERD이 있으며, 데이터 모델링은 최종적으로 ERD(Entity Relationship Diagram)를 만드는 작업이라고 생각하면 된다. 다시 말하면 데이터를 저장하기 위한 데이터 구조를 설계하는 작업이라고 할 수 있다. 개념 / 논리 / 물리 다이어그램 개념 다이어그램 개념 다이어그램은 아..
💡null 함수 nvl(컬럼, 값) nvl(컬럼, 값, 값) nvl(null value)은 null을 치환하는 함수이다. null value case end 사용 SELECT name, CASE WHEN population IS NOT NULL THEN population WHEN population IS NULL THEN 0 END FROM tblCountry; nvl 사용 SELECT name, nvl(population, 0) FROM tblCountry; null 함수는 null 전용의 replace 함수라고 볼 수 있다. null을 찾아서 0으로 값을 바꿔주었다. 일련번호 만들기 CREATE TABLE tblItem ( seq NUMBER PRIMARY KEY, name varchar2(100)..
WITH ] SELECT column_list FROM table_name [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_ex 📌SELECT문 2023.08.29 - [Programming/Oracle] - [Oracle] SELECT문 [Oracle] SELECT문 💡SELECT문 SELECT문은 DML, DQL에서 사용된다. SQL은 SELECT로 시작해서 SELECT로 끝난다는 말이 있을 정도로 SQL은 SELECT 위주이다. SELECT문의 구성 전체 SELECT문 [WITH ] SELECT column_list FROM table_name [WHERE search_c ..
💡WITH절 WITH ] SELECT column_list FROM table_name [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_ex with절은 인라인 뷰(from절의 서브 쿼리)에 이름을 붙이는 기술이다. from절의 서브 쿼리는 1회용 테이블이므로 이름 없는 테이블이고, from 테이블은 N회용 테이블이므로 이름 있는 테이블이다 with절은 전자의 from절의 서브 쿼리에 대한 작업을 한다. WITH절의 사용 with 임시테이블명 as (서브 쿼리) select문; WITH절로 변환할 수 있는 쿼리 SELECT * FROM (SELECT name, buseo, jik..
💡순위 함수 순위 함수는 rownum기반으로 만들어진 함수이다. [Oracle] 의사 컬럼 (Pseudo Column) 💡의사 컬럼 의사 컬럼(Pseudo Column)은 실제 컬럼이 아닌데 컬럼처럼 행동하는 객체이다. 객체의 종류 SELECT name, buseo,--컬럼(속성) 100,--상수 substr(name, 2),--함수 rownum--의사컬럼 FROM tblInsa; 컬럼(속성 isaac-christian.tistory.com rownum에 대해서는 위 글을 참고하도록 하자. 💡rank() over(order by 컬럼명 [asc|desc]) 급여순으로 가져오는 쿼리를 작성해보도록 하자. rownum을 이용하는 방법 --rownum SELECT name, buseo, basicpay, ro..