db 7

Oracle (5) - SELECT문에서 IF ELSE를 사용하기 DECODE

오라클을 사용하다 보면 case 문을 사용하는 경우가 있습니다. 지난 편에는 null을 처리하는 방법을 소개하였으나 case 문을 이용하여 if else 형식을 사용하기도 합니다. 이번에는 DECODE 함수를 소개하려고 합니다. 참고로 IF ELSE 문은 SELECT에서 사용할 수 없으며 PL/SQL에서 사용할 수 있습니다. DECODE SELECT NAME , GEND , DECODE(GEND, 'M', '남자', 'F', '여자', '제3의 성') AS GEND_DECODE FROM EXAMPLE DECODE 함수의 구조는 다음과 같습니다. DECODE(칼럼, 조건, TRUE 조건 값, ELSE 값) DECODE 함수는 또한 여러 개의 식을 사용할 수 있습니다. 여러 개의 식을 사용하는 경우 아래의 ..

컴퓨터/Oracle 2023.12.23

MySQL (16) - 뷰(View)에 대하여 알아보자

혼자서 데이터베이스를 작업하는 경우 모든 권한을 마음대로 컨트롤할 수 있습니다. 외주업체 등 여러 명이 데이터를 활용할 때 사용자에게 꼭 필요한 정보만 접근해야 할 때가 있습니다. 이때 필요한 게 View입니다. View 뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위하여 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블입니다. 저장장치에 물리적으로 존재하지는 않지만, 사용자에게 있는 것처럼 간주하고 사용됩니다. 이를 통해 데이터 보정작업 등 임시적인 용도로 사용됩니다. 또한 Join 된 데이터를 뷰를 통하여 간단하게 뽑을 수 있습니다. View를 사용할 때 장단점 View를 사용할 때 장단점은 다음과 같습니다. 장점 특정 사용자에게 테이블 전체가 아닌 필요한 데이터만 보여줄 수 있습니..

컴퓨터/MySQL 2023.10.03

MySQL (14) - 내장함수를 이용하여 날짜 및 시간을 다뤄보자

이전에 게시글에 문자와 숫자 함수를 이용하여 쿼리를 다뤘었습니다. 문득숫자, 문자 만큼 DBMS에서 내장함수를 많이 사용한다는 것을 깨달았습니다. 그래서 날짜 및 시간을 다루는 내장함수를 소개하겠습니다. 날짜 및 시간 함수 정리 CURDATE, CURTIME, NOW, SYSDATE SELECT CURDATE() -- 2023-06-19 , CURTIME() -- 10:30:45 , NOW() -- 2023-06-19 10:30:45 , SYSDATE() -- 2023-06-19 10:30:45 FROM DUAL; 가장 먼저 소개할 함수는 현재의 날짜와 시간을 알아내는 함수입니다. CURDATE함수는 현재의 년-월-일을 출력하고 CURTIME은 현재의 시:분:초를 출력합니다. NOW와 SYSDATE함수는..

컴퓨터/MySQL 2023.06.20

MySQL (13) - 프로시저(Procedure)와 함수(Function)

간단하게 CRUD만 사용하는 경우에는 SQL을 깊게 사용하지 않지만, 전문적으로 DB를 운영하기 위해서는 결국 함수형으로 관리하는 것이 필수입니다. SQL에는 함수만 있지 않고 프로시저가 있습니다. 이번에는 해당 개념에 대하여 알아보려고 합니다. 함수 (Function) 데이터베이스에서 함수는 일반적인 프로그래밍언어에서 함수의 역할과 동일합니다. 입력값을 받아 특정한 작업을 수행하고 결과값을 출력하는 구조로 되어있습니다. 함수는 특정 작업을 수행하고 그 결과를 반환하여 DML 및 SELECT를 사용하는 쿼리문 안에서 표현식으로 사용될 수 있습니다. 함수는 다음과 같은 특징을 가지고 있습니다. 함수에서 입력값을 받아 처리하고 해당 결과값을 반환합니다. 함수 호출 문에서 반환된 값으로 사용할 수 있습니다. ..

컴퓨터/MySQL 2023.05.01

MySQL (11) - 내장함수를 이용하여 숫자를 다뤄보자

SQL을 다룰 때 문자만큼이나 숫자 형식도 많이 다루게 됩니다. 문자열 내장함수에 이어 숫자를 조작하는 내장함수를 알아보도록 하겠습니다. ※ 함수 설명을 중심으로 내용을 진행합니다. ※ 제가 자주 사용한 함수는 ★로 표시하였습니다. 숫자 함수정리 ABS (★) SELECT ABS(-1004) -- 1004 FROM DUAL; ABS 함수는 절댓값으로 반환하는 함수입니다. 해당 예제에서는 1004로 반환합니다. SIGN SELECT SIGN(1004) --1 FROM DUAL; SIGN 함수는 숫자가 양수인 경우에는 1 음수 일때는 -1을 반환하며, 0일 때는 0을 반환합니다. 위의 예제에는 1을 반환합니다. POW, SQRT (★) SELECT POW(3,2), SQRT(16) -- 9, 4 FROM D..

컴퓨터/MySQL 2023.04.02

MySQL (9) - 내장함수를 이용하여 글자를 다뤄보자

예전에 select절을 이용하여 데이터를 불뤄 오는 방법을 다뤘습니다. 데이터를 그대로 가지고 오는 것이 아니고 가공해서 가져오는 것도 필요하다는 것을 알았습니다. where절을 이용하여 데이터의 일부를 가져오는 방법 등을 더 범위 있는 사용을 위해 이번에는 해당 함수들을 설명하려고 합니다 ※ 함수 설명을 중심으로 내용을 진행합니다. ※ 제가 자주 사용한 함수는 ★로 표시하였습니다. 문자열 함수정리 LIKE (★★★) -- sam문자가 포함된 값을 모두 조회한다. SELECT * FROM mytable WHERE comp LIKE '%sam%'; -- sam문자로 시작하는 값을 모두 조회한다. SELECT * FROM mytable WHERE comp LIKE 'sam%'; -- 삼으로 시작하는 3글자를..

컴퓨터/MySQL 2023.03.16

MySQL (7) - JOIN에 대하여 알아보자

SQL 탐색에서 여러가지 테이블을 연동하여 사용하는 경우가 많습니다. 이때 사용하는 방법이 JOIN입니다. 이번에는 해당 방법에 대하여 알아보겠습니다. 한 번에 알아보는 JOIN의 종류 간단하게 집합 사진과 쿼리문을 정리하였습니다. 시간이 없으신 분들은 해당 부분의 쿼리문만 보셔도 됩니다. 벤다이어그램 소스 코드 SELECT * FROM A a INNER JOIN B b ON a.KEY = b.KEY; SELECT * FROM A a LEFT OUTER JOIN B b ON a.KEY = b.KEY; SELECT * FROM A a LEFT OUTER JOIN B b ON a.KEY = b.KEY WHERE b.KEY IS NULL; SELECT * FROM A a RIGHT OUTER JOIN B b ..

컴퓨터/MySQL 2023.03.02