oracle

Programming/Oracle

[Oracle] null 함수

💡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)..

Programming/Oracle

[Oracle] SELECT문 정리 모음

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 ..

Programming/Oracle

[Oracle] SELECT문: WITH절

💡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..

Programming/Oracle

[Oracle] 순위 함수

💡순위 함수 순위 함수는 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..

Programming/Oracle

[Oracle] 계층형 쿼리 (Hierarchical Query)

💡계층형 쿼리 계층형 쿼리(Hierarchical Query)는 자기 참조를 하는 테이블에서 사용하며, 레코드의 관계가 서로 간에 상하 수직 구조인 경우에 사용한다. 계층형 쿼리는 오라클 전용 쿼리이다. 자바에서는 계층형 쿼리를 트리 구조로 이해할 수 있다. 계층 구조 SELECT * FROM tblSelf; 홍사장 - 김부장 -박과장 -최대리 -정사원 - 이부장 -하과장 -황대리 -신과장 -허사원 이러한 테이블을 보고 레코드의 관계가 서로 상하 수직 구조라고 한다. 이런 경우에만 계층형 쿼리를 사용할 수 있다. 부품과 부모 부품의 정보를 동시에 가져오는 작업을 해보도록 하자. self join 혹은 상관 서브 쿼리 사용 SELECT c1.name AS 부품명, c2.name AS 부모부품명 FROM t..

Programming/Oracle

[Oracle] 트랜잭션 (Transaction)

💡트랜잭션 트랜잭션(Transaction)은 데이터를 조작하는 업무의 물리적(시간적) 단위(행동의 범위)를 말한다. 1개 이상의 명령어를 묶어 놓은 단위이다. 트랜잭션이 중요한 이유는 다른 명령어는 실수를 해도 그 영향이 크지 않은데, 여기에 속한 명령어들은 실수했을 때 손해가 크기 때문이다. 트랜잭션 관련 명령어, DCL(TCL) 1. COMMIT 2. ROLLBACK 3. SAVEPOINT 💡트랜잭션이란? 내가 역삼은행에 200억이 있는데, 부산에서 건물을 사려고 한다고 가정하자. 그러면 다음과 같은 일련의 과정이 실행될 것이다. 부산은행에 방문한다. 부산은행에 돈을 인출해 달라고 신청한다. 부산은행에서 역삼은행에 이 사람이 건물을 살 200억이 있는지 확인을 요청한다. 역삼은행에서 200억을 인출하..

Programming/Oracle

[Oracle] 의사 컬럼 (Pseudo Column)

💡의사 컬럼 의사 컬럼(Pseudo Column)은 실제 컬럼이 아닌데 컬럼처럼 행동하는 객체이다. 객체의 종류 SELECT name, buseo,--1. 컬럼(속성) 100,--2. 상수 substr(name, 2),--3. 함수 rownum--4. 의사컬럼 FROM tblInsa; 1. 컬럼(속성)은 읽기(Output) 전용으로, 객체(레코드)의 특성에 따라 다른 값을 가진다. 2. 상수는 Output 전용으로, 모든 레코드가 동일한 값을 가지므로 아주 특별한 경우가 아니고서는 사용하지 않는다. 모두 같은 값을 가지고 있는 컬럼을 만드는 경우가 거의 없기 때문이다. 3. 함수는 쓰기와 읽기(Input/Output)가 모두 되며, 객체의 특성에 따라 다른 값을 가진다. 대부분 함수의 인자값은 조작이 가..

Problem Solving

[Oracle] SQL 문제 풀이 (문제집 07)

🚩서로 짝이 있는 남자와 여자 -- tblMan. tblWoman. 서로 짝이 있는 사람 중 남자와 여자의 정보를 모두 가져오시오. -- [남자] [남자키] [남자몸무게] [여자] [여자키] [여자몸무게] -- 홍길동 180 70 장도연 177 65 -- 아무개 175 null 이세영 163 null -- .. 나의 풀이 SELECT m.name AS 남자, m.height AS 남자키, m.weight AS 남자몸무게, w.name AS 여자, w.height AS 여자키, w.weight AS 여자몸무게 FROM tblMen m INNER JOIN tblWomen w ON m.name = w.couple ORDER BY 남자 DESC, 여자 DESC; 정답 SELECT name as "[남자]", h..

Isaac-Christian
'oracle' 태그의 글 목록 (4 Page)