공부/Database 복습 7

7.Database 안시 조인

/* # ANSI JOIN - ANSI (American National Standards Insititute) 미국에서 여러가지 IT표준을 재정하는 단체 - 모든 RDBMS들은 ANSI 표준을 따르는 쿼리문을 가지고 있다 */ -- ANSI CROSS JOIN SELECT * FROM employees CROSS JOIN departments; --ANSI INNER JOIN : 조인 조건에 맞는 행만 등장하는 JOIN SELECT * FROM employees INNER JOIN departments USING ( department_id ); -- ANSI OUTER JOIN : 조인 조건에 맞지 않는 행도 등장하는 JOIN --LEFT OUTER JOIN: 왼쪽 테이블의 등장하지 못한 행이 등장한..

6.Database 조인

/* # 기본키 (Primary Key, PK) - 한 테이블에서 하나의 행을 유일하게 구분할 수 있는 컬럼 (중복이 되지 않아야함) - 한 테이블 당 하나 밖에 설정할 수 없다 - 기본키가 될 수 있는 컬럼이지만 기본키로 설정되지 않은 컬럼은 후보(Candidate Key)' 라고 한다 - 기본키로 설정된 컬럼에는 중복된 값을 넣을 수 없고 (UNIQUE) 비어있는 값도 허용하지 않는다 (not null) # 외래키 (Foreign Key, FK) - 다른 테이블에서는 기본키이지만 다른데로 간다면 그냥 값들중 하나가 돼버린다. - 다른 테이블에서는 기본키 또는 후보키(또는 중복값이 없는 컬럼) 해당 테이블에서는 중복되는 값인 컬럼 ex: employees의 department_id는 employees에..

5.Database 정렬

/* # ORDER BY(정렬) - 테이블을 조회할 때 원하는 컬럼 기준으로 정렬하여 조회할 수 있다. - ORDER BY 컬럼명 [ASC|DESC] - ASC : ASCENDING (오름차순) - DESC : CESCENDING (내림차순) */ -- 오름차순/내림차순을 설정하지 않으면 기본적으로 오름차순으로 정렬한다. SELECT * FROM employees ORDER BY first_name; SELECT * FROM employees ORDER BY first_name ASC; SELECT * FROM employees ORDER BY first_name DESC; SELECT * FROM employees ORDER BY hire_date DESC; SELECT * FROM employees ..

4.Database 그룹 함수

/* # 그룹 함수 - 여러 행의 값을 특정 컬럼을 기준으로 그룹화 하여 결과를 얻는 함수 - 특정 집단의 총합, 개수, 평균 등을 구할 수 있다 */ -- sum(column) : 각 그룹의 총합을 구하는 그룹 함수 SELECT sum(salary) || '$' FROM employees; SELECT to_char(sum(salary), '999,999L') FROM employees; -- 부서별 총 월급 구해보기 SELECT department_id, sum(salary) FROM employees GROUP BY department_id; SELECT d.department_name, sum(salary) FROM employees e, departments d WHERE e.department..

3.Database 함수

/* # dual 테이블 - 연습용 테이블 - 하나의 행만 가지고 있어서 계산 해볼 때 편리하게 사용할 수 있다 */ SELECT 123 + 456 FROM employees; SELECT 123 + 456 FROM dual; --abs(n) : 절대 값 SELECT abs(-1234) FROM dual; SELECT abs(1234) FROM dual; --floor(f) : SELECT floor(1234.1234) FROM dual; --ceil(f) : 소수점 아래 올림 SELECT ceil(1234.1111) FROM dual; -- round(f) : 반올림 SELECT round(1234.567) FROM dual; SELECT round(1234.456) FROM dual; -- mod(n..

2.Database WHERE

/* # SELECT 컬럼명 FROM 테이블명 WHERE 조건절; - SELECT문에 조건을 추가하여 해당 조건을 만족하는 행들만 조회할 수 있다 # 비교 연산자 = : 같다 , = : 비교 !=, , ^= : 다르다 */ SELECT * FROM employees WHERE salary = 7000; SELECT * FROM employees WHERE salary > 7000; SELECT * FROM employees WHERE 7000 'Oliver'; SELECT * FROM employees WHERE hire_date = '03/06/17'; SELECT * FROM employees WHERE hire_date '03/06/17'; --AND, OR, NOT 엔드 =>&& , 올 =>|| ..

1.데이터베이스 SELECT

/* # SELECT 컬럼명 FROM 테이블명; - 데이터를 조회하는 - 컬럼명에 *를 쓰는 것은 모든 컬럼을 뜻한다 - 쿼리문은 대소문자를 구분하지 않는다 - 컬럼명/테이블명은 대소문자를 구분하지 않는다 - 테이블에 저장되는 데이터는 대소문자를 구분한다(ex: 사원명 등...) */ SELECT * FROM tabs; -- 사용할 수 있는 모든 테이블들을 불러와준다 SELECT * FROM employees; -- 직원들의 정보를 저장한 테이블 SELECT * FROM departments; -- 부서들의 정보를 저장한 테이블 SELECT * FROM jobs; -- 직급에 대한 정보를 저장한 테이블 SELECT * FROM locations; -- 지역에 대한 정보를 저장한 테이블 (컬럼명에 * 을 ..

728x90