일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 변수
- Dynamic Programming
- 입출력
- 소숫점처리
- 2156
- 그대로 출력하기
- 데이터베이스
- 백준
- 데이터길이
- Java
- Database
- 동적계획법
- ANSI JOIN
- 오라클
- Eclipse
- 10951
- SQL
- oracle
- JOIN
- 문자열
- DP
- select
- Algorithm
- 알고리즘
- db
- algoritm
- 자바
- 반복문
- n x 2 타일링 2
- darkest dark
- Today
- Total
목록데이터베이스 (19)
Cracking Code
데이터베이스의 무결성을 유지하기 위해서 일종의 제약을 둡니다. 데이터베이스 제약 조건에 대해 알아봅시다. CREATE TABLE table( column datatype [DEFAULT expr] -- 컬럼 LEVEL [CONSTRAINT column_constraint], ..., [table CONSTRAINT column_constraint], -- 테이블 LEVEL ... ); 제약 조건은 테이블 LEVEL, 컬럼 LEVEL에서 선언할 수 있습니다. 테이블 LEVEL은 모든 컬럼의 선언이 끝난 후에 제약 조건을 명시하는 것이며 컬럼 LEVEL은 컬럼의 선언과 동시에 제약 조건도 명시하는 것입니다. 🚨컬럼 LEVEL 에선 제약 조건을 하나씩만 선언할 수 있습니다.🚨 제약 조건의 종류 제약 조건은 C..
DB 테이블에 데이터를 입력하기 위한 데이터 조작어 INSERT INTO 에 대해 알아봅시다. 1. 단일 행 입력 INSERT INTO table [(column1, ...)] VALUES (value1, ...) INTO 절에 컬럼을 명시하지 않으면 table의 컬럼 순서대로 value 값이 추가됩니다. 컬럼을 명시하고 그 컬럼의 순서에 맞게 입력하면 1:1 대응하여 value 값이 추가됩니다. 입력되는 데이터의 타입은 컬럼의 데이터 타입과 같아야 합니다. 또한 데이터의 크기는 컬럼의 크기보다 작거나 같아야 합니다. DEPT 테이블에 부서 이름이 인사과이며 지역은 서울, 부서 번호는 각각 90 80 70으로 순서를 다르게 추가해봅시다. INSERT INTO DEPT(DEPTNO, DNAME, LOC) ..
서브쿼리란 SELECT 문에 포함되어 있는 또 하나의 SELECT 문입니다. 위 그림 처럼 SELECT 문을 2번 수행하여 결과를 2번 얻는 것과 달리 SELECT 문을 한 번에 2번 입력 및 수행하여 결과를 얻을 수 있습니다. 바깥 쪽 쿼리는 메인 쿼리, 안 쪽 쿼리는 서브 쿼리라고 합니다. 서브 쿼리가 먼저 수행되고 메인 쿼리가 수행됩니다. 반드시 괄호로 묶어서 사용하며 서브쿼리에는 ORDER BY 절 사용 불가합니다. SELECT column1, column2, ... FROM table | [(SELECT ...)] WHERE column ? [(SELECT ...)] 1. 단일 행 서브 쿼리 서브쿼리가 한 개의 행을 리턴합니다. 반드시 단일 행 연산자(=, >, =, ( SELECT SAL FR..
검색하고자 하는 컬럼이 두 개 이상 테이블에 존재할 때 사용할 수 있는 기술이 있습니다. JOIN에 대해서 알아봅시다. 기본적인 오라클의 JOIN의 종류는 아래와 같습니다. 1. Cartesian Product 2. Equi Join 3. Non-Equi Join 4. Outer Join 5. Self Join 일반적으로 기본키 or 외래키를 사용하여 두 테이블을 합칩니다. 한 컬럼을 기준으로 JOIN 할 때 모호성이 발생하므로 테이블명이나 별칭을 컬럼 앞에 씁니다. -- 모호성 해결 SELECT ENAME, EMP.DEPTNO, DNAME, LOC -- DEPTNO는 DEPT 테이블에도 존재하므로 -- EMP의 DEPTNO를 출력하겠다고 명시 FROM EMP, DEPT; 1. CARTESIAN PROD..
어떤 컬럼을 기준으로 그룹으로 묶어서 데이터 값들을 출력할 수 있도록 도와주는 GROUP BY 절에 대해서 알아보겠습니다. 1. GROUP BY SELECT [column], group_function(column) FROM table [WHERE 조건식] [GROUP BY column] [ORDER BY column] 전체 테이블이 아닌 특정 그룹으로 묶을 때 GROUP BY 함수를 통해 출력할 수 있습니다. 그룹 함수는 GROUP BY 없이 일반 컬럼과 함께 출력할 수 없습니다. 그룹으로 묶을 컬럼은 반드시 SELECT 절에도 존재해야합니다! 부서 번호를 그룹화하여 각 그룹의 SAL 평균을 출력해볼까요? SELECT DEPTNO, AVG(SAL) FROM EMP GROUP BY DEPTNO; 부서 번..
조건 변환문에서 저번 시간엔 CASE에 대해 알아보았습니다. 이번 시간에는 Oracle에서만 사용할 수 있는 DECODE 함수에 대해 알아보겠습니다. DECODE DECODE(column | expression, search1, result1 [, search2, result2, ... ,] [, default) DECODE 함수는 기본적으로 숫자연산에 사용되는 함수입니다. column에 매치되는 값을 찾아 연산을 한 뒤에 출력합니다. 사원 테이블에서 사원의 번호, 이름, 급여, 급여의 배수를 한 값 직업이 ANALYST인 경우 급여에 1.1배 CLERK인 경우 1.2배 MANAGER인 경우 1.3배 PRESIDENT인 경우 1.4배 SALESMAN일 경우 1.5배 나머지는 그대로 하여 출력해봅시다. S..
날짜를 인자로 받아 계산하여 결과를 리턴하는 날짜 관련 함수를 알아보겠습니다. 함수를 알아보기 전에 앞서 간단한 날짜 출력문을 알아보겠습니다. SYSDATE: 현재 날짜 출력 SYSTIMESTAMP: 현재 날짜, 시각 출력 각 컬럼에 현재 날짜 및 날짜와 시간이 잘 표시됩니다. 주의) 날짜 데이터는 그 안에 현재의 연, 월, 일, 시간 모두 포함되어 있습니다. 그 데이터를 기반으로 미리 설정된 날짜 형식에 따라 출력됩니다. 그럼, 이 날짜 데이터들을 활용한 함수들에 대해 알아볼까요? 1. MONTHS_BETWEEN MONTHS_BETWEEN(date1, date2) date1과 date2의 월간 차이를 계산하여 출력합니다. 사원 테이블의 부서 번호가 10인 사원들이 몇 달 근무했는지 알아볼까요? SELE..
문자열의 특정 문자열을 치환하는 함수를 소개합니다. REPLACE 문자열 안에 모든 특정 문자열을 치환해줍니다. REPLACE(column, 's1', 's2') column의 문자열 데이터의 모든 s1을 s2로 치환하여 출력해줍니다. 사원 테이블에서 사원의 이름과 직업, 그리고 직업의 A 문자를 $ 문자로 치환하여 출력해봅니다. SELECT ENAME, JOB, REPLACE(JOB, 'A', '$') FROM EMP; 사원들의 직업 문자열의 A 문자가 전부 $ 문자로 변경되어 출력되는 것을 확인할 수 있습니다.