SQL

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

Problem Solving

[Oracle] SQL 그룹 문제 풀이 (문제집 06)

🚩종별 그룹 --2. tblZoo. 종류(family)별 평균 다리의 갯수를 가져오시오. 나의 풀이 SELECT family AS 종류, round(avg(leg)) AS 평균다리개수 FROM TBLZOO GROUP BY family; 🚩종의 체온과 호흡별 그룹 --3. tblZoo. 체온이 변온인 종류 중 아가미 호흡과 폐 호흡을 하는 종들의 갯수를 가져오시오. 나의 풀이 SELECT * FROM TBLZOO; SELECT breath AS 호흡, count(*) AS 개수 FROM TBLZOO WHERE THERMO = 'variable' GROUP BY BREATH; 정답 SELECT * FROM tblzoo; SELECT count(case when breath in ('lung') then 1 ..

Problem Solving

[Oracle] SQL 정렬 문제 풀이 (문제집 05)

🚩이름 길이별 정렬 1 -- 1. 전체 이름(first_name + last_name)이 가장 긴 -> 짧은 사람 순으로 정렬해서 가져오기 -- > 컬럼 리스트 > fullname(first_name + last_name), length(fullname) 나의 풀이 SELECT FIRST_NAME, LAST_NAME FROM employees GROUP BY LENGTH(FIRST_NAME || LAST_NAME), FIRST_NAME, LAST_NAME ORDER BY LENGTH(FIRST_NAME || LAST_NAME) DESC; 정답 select first_name || ' ' || last_name as fullname, length(first_name || ' ' || last_name) a..

Problem Solving

[Oracle] SQL 집계 함수 문제 풀이 (문제집 04)

🚩sum 나의 풀이 --1. 유럽과 아프리카에 속한 나라의 인구 수 합? tblCountry > 14,198 SELECT sum(population) FROM tblCountry WHERE continent IN ('EU', 'AF'); --2. 매니저(108)이 관리하고 있는 직원들의 급여 총합? hr.employees > 39,600 SELECT sum(salary) FROM hr.employees WHERE MANAGER_ID = 108; --3. 직업(ST_CLERK, SH_CLERK)을 가지는 직원들의 급여 합? hr.employees > 120,000 SELECT sum(salary) FROM hr.employees WHERE job_id IN ('ST_CLERK', 'SH_CLERK'); -..

Problem Solving

[Oracle] SQL 문제 풀이 (문제집 02, 03)

🚩고용일 범위에 따른 부서 --요구사항.002.employees --고용일이 2002~2004년 사이인 직원들은 어느 부서에 근무합니까? > hire_date + department_id SELECT DEPARTMENT_ID FROM employees WHERE HIRE_DATE BETWEEN '2002-01-01' AND '2004-12-31'; 🚩80년대생의 남자 직급 --요구사항.004.tblInsa --남자 직원 + 80년대생들의 직급은 뭡니까? > ssn + jikwi SELECT jikwi FROM TBLINSA WHERE substr(ssn, 1, 2) BETWEEN 80 AND 89 --80년대생 AND substr(ssn, 8, 1) = 1; --남자 select distinct jikw..

Programming/Oracle

[Oracle] 테이블 수정 Alter Table문

💡테이블 수정하기 테이블 정의 수정 > 스키마 수정 > 컬럼 수정 > 컬럼명 OR 자료형 (길이) OR 제약사항 등 수정 테이블을 수정한다는 건 실제로는 컬럼명, 자료형, 제약사항 등의 것들을 수정하는 걸 의미한다. 테이블을 수정하는 상황은 되도록 피하도록 한다. 테이블을 수정하는 상황을 만들기 이전에 설계를 완벽하게 해야 한다.🏗️ [Oracle] SQL 키워드, 식별자, 자료형 💡SQL 키워드와 식별자 대소문자 구분 -- 대소문자 구분 X select * from tabs; SELECT * FROM tabs; -- 대소문자 구분 O select * from tabs where table_name = 'JOBS'; select * from tabs where table_name = 'jobs'; SQL..

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