-- ------------------------------------------------------ -- + 연습 -- ------------------------------------------------------ SELECT last_name, salary FROM employees WHERE salary > ( SELECT salary FROM employees WHERE last_name = 'Whalen' ) ORDER BY salary ASC; -- 'Whalen'보다 많은 월급을 받고 있는 직원의 이름, 월급을 월급을 기준으로 오름차순 정렬하여 출력한다. SELECT last_name, salary, ( SELECT department_name FROM departments WHERE ..
-- ------------------------------------------- -- + Oracle Join 응용 -- ------------------------------------------- -- 이 쿼리의 목적은 각 사원의 "관리자의 관리자"가 누구인지 찾아내기 위해 -- 셀프조인을 2번하는 것이다. SELECT e.last_name AS 사원명, m.last_name AS 관리자명, n.last_name AS "관리자의 관리자명" FROM employees e, -- 사원 employees m, -- 관리자 employees n -- 관리자의 관리자 WHERE e.manager_id = m.employee_id AND m.manager_id = n.employee_id; -- 사원의 관리..
-- ******************************************* -- SELECT 문의 기본구조와 각 절의 실행순서 -- ******************************************* -- - Clauses - - 실행순서 - -- -- SELECT clause (5) -- FROM clause (1) -- [ WHERE clause ] (2) -- [ GROUP BY clause ] (3) -- [ HAVING clause ] (4) -- [ ORDER BY clause ] (6) -- ******************************************* -- ------------------------------------------- -- 0. Carte..
-- ------------------------------------------- -- 1. 일반 (처리) 함수 - CASE문 ( 자바 : switch문 ) -- ------------------------------------------- -- 조건이 반드시 일치하지 않아도, 범위 및 비교가 가능한 경우에 사용하는 함수 -- ------------------------------------------- -- 문법1) 조건이 반드시 일치하는 경우 -- CASE column -- WHEN 비교값1 THEN 결과값1 -- WHEN 비교값2 THEN 결과값2 -- ... -- ELSE 결과값n ( 일치하지 않을 때의 디폴트값 ) -- END -- ----------------------------------..
-- ------------------------------------------- -- 1. 문자처리 함수 - SUBSTR ( offset index로 음수를 사용할 수 있을까? ) -- ------------------------------------------- SELECT '900303-1234567', substr('900303-1234567', -7) FROM dual; -- 더미 테이블에서 900303-1234567이라는 문자열에서 뒤에서 7번째 글자부터 가지고 온다는 의미이다. -- 이 경우에는 1234567이 출력된다. -- offset index가 음수인 경우에는 맨 끝에서부터 -1,-2 ...이렇게 카운팅한다. -- substr은 가지고 올 문자의 개수를 정하지 않으면, 끝까지 가지고..
-- *************************************** -- SELECT 문의 기본 문법 (***) -- *************************************** -- SELECT [DISTINCT] { *, column [AS] [alias] , ... } -- FROM -- WHERE -- *************************************** -- ------------------------------------------- -- 1. 논리 연산자 ( AND, OR ) -- ------------------------------------------- SELECT last_name AS "이름", job_id AS "부서", salary AS "월..
1. SQL - SQL = Structured Query Language ( 구조화된 질의 언어 )라는 의미이다. - SQL은 테이블에 저장된 데이터를 CRUD ( Create, Read, Update, Delete )할 때 사용 - CREATE를 위해서는 INSERT문을 사용한다. - READ를 위해서는 SELECT문을 사용한다. - UPDATE를 위해서는 UPDATE문을 사용한다. - DELETE를 위해서는 DELETE문을 사용한다. - 이때 개발자는 주로 Read(조회) 기능을 많이 사용하게 된다. - + SQL문을 통해 출력되는 테이블을 결과 set이라고 부른다. 2. SQL문의 종류 - 1 ) DQL ( Data Query Language ) : 데이터 조회 언어로 SELECT문에 해당한다. -..
이번 문제는 입력한 숫자 N까지 한수의 개수를 구해야 하는 문제이다. 이때 한수란 각 자릿수가 서로 동일한 차이를 가지고 있을 때를 의미하는데, 쉽게 말하자면 만약 int A에 3자리 숫자인 123이 들어오게 되면 백의 자리 숫자, 십의 자리 숫자, 일의 자리 숫자를 각각 int 형태로 빼내서 ( 백의 자리 숫자 - 십의 자리 숫자 ) = ( 십의 자리 숫자 - 일의 자리 숫자 )면 한수가 된다고 이해하면 편하다. 123의 경우 백의 자리 숫자가 1, 십의 자리 숫자가 2, 일의 자리 숫자가 3이기에 각 자리 숫자의 차이가 1씩 나기에 한수에 해당한다. 이러한 개념을 바탕으로 생각하였을때 한자리 숫자나 두 자리 숫자의 경우, 차이를 구할 자리의 숫자가 없거나 2자리이기에 차이가 하나만이 생성되어 반드시 ..
1. IE 표기법 ( Information Engineering ) - ER 다이어그램을 더 축약하여 더 쉽게 표현하는 방법으로 소프트웨어에서 사용한다. - IE 표기법에서 개체 타입과 속성은 직사각형으로 표현한다. - IE 표기법에서 관계는 실선 혹은 점선으로 표기한다. - 1 ) ---------- 비식별자 관계(점선) - : 강한 개체 타입, 양쪽이 모두 강한 개체 타입일 경우 점선으로 관계를 표기한다. - 2 ) ___________ 식별자 관계(실선) - : 약한 개체 타입, 둘 중 한쪽이 약한 객체 타입일 경우 실선으로 관계를 표기한다. - : 부모 개체의 키가 주식별자(PK)로 포함되는 관계이다. - 3 ) 1 : N의 관계 : N쪽에 새발을 표시해 준다. - + N : M의 관계일 경우에는..
1. 함수 종속성 - 학생수강성적과 같은 릴레이션의 각 속성 사이에는 의존성이 존재한다. - 어떤 속성 A의 값을 알면 다른 속성 B의 값이 유일하게 정해지는 의존관계를 A가 B의 결정자라고 하며, A -> B로 표기한다. - 함수종속성 다이어그램은 함수 종속성을 나타내는 표기법으로 릴레이션의 속성은 직사각형, 속성 간의 함수 종속성은 화살표, 복합속성은 직사각형으로 묶어서 그린다. - 릴레이션의 함수 종속성을 파악하기 위해서는 우선 기본키를 찾아야 한다. - 기본키는 릴레이션의 모든 속성을 유일한 값으로 정(구분)해주기에, 모든 속성에 대해 결정자로 이상현상을 제거하는 정규화 과정에서 활용되기 때문이다. 2. 이상현상 - 이상현상은 1개의 릴레이션에 2개 이상의 정보가 포함되어 있을 때 나타난다. - ..