일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 숫자야구
- list
- 숫자야구소스
- 생활코딩
- 데이터사이언스
- 함수
- 임경덕
- if문
- 데이터분석
- stat
- 파이썬
- sql
- python
- 리스트
- 코딩야학
- hadoop
- for문
- 야학
- code
- DATABASE
- 숫자야구코드
- R
- big_data
- 데이터과학
- 빅데이터
- 루비페이퍼
- 하둡
- DataAnalysis
- 이토록 쉬운 통계&R
- BigData
- Today
- Total
목록빅데이터/SQL (16)
yekang
옵티마이저(Optimizer)는 사용자가 질의한 SQL문에 대해 최적의 실행 방법을 결정하는 역할을 수행한다. 이러한 최적의 실행 방법을 실행계획(Execution Plan)이라고 한다. 다양한 실행 방법들 중에서 최적의 실행 방법을 결정하는 것이 바로 옵티마이저의 역할이다. 최적의 실행 방법 결정이라는 것은 어떤 방법으로 처리하는 것이 최소 일량으로 동일한 일을 처리할 수 있을지 결정하는 것이다. 옵티마이저가 최적의 실행 방법을 결정하는 방식에 따라 규칙기반 옵티마이저와 비용기반 옵티마이저로 구분할 수 있다. 현재는 대부분의 관계형 데이터베이스는 비용기반 옵티마이저만을 제공한다. 가. 규칙기반 옵티마이저규칙(우선 순위)을 가지고 실행계획을 생성한다. 실행계획을 생성하는 규칙을 이해하면 누구나 실행계획을..
* 데이터 제어어(DCL : Data Contol Language)는 데이터베이스에 접근하고 객체들을 사용할 수 있도록 권한을 부여하거나 회수하는 명령어GrantRevoke * As-Is : 비절차적 데이터 조작어(DML)는 사용자가 무슨(What) 데이터를 원하는지만을 명세함.To-Be : 비절차적 데이터 조작어(DML)는 사용자가 무슨(What) 데이터를 원하는지만을 명세하지만, 절차적 데이터 조작어는 어떻게 (How) 데이터를 접근해야 하는지 명세한다. 절차적 데이터 조작어로는 PL/SQL(Oracle), T-SQL(Sql-Server) 등이 있다. * 데이터 부속어(Data Sub Language) : 호스트 프로그램 속에 삽입되어 사용되는 DML 명령어 * DDL(Data Definition L..
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778SELECT * FROM user_constraints; -- set unused 예제CREATE TABLE emp_copyAS SELECT * FROM employees; ALTER TABLE emp_copyDROP (hire_date,commission_pct);DESC emp_copy; ALTER TABLE emp_copy SET UNUSED (email,job_id,first_name); -- drop column과 같은데 실제로 지우진 ..
1234567891011121314151617181920-- 대표적인 동의어SELECT FROM all_objects; DESC user_objects; -- data dictionary view 내가 가진 객체를 보여주는 뷰 -- all 은 내가 가지진 않았지만 볼 수 있는 객체를 보여주는 뷰 -- dba는 없다고 뜬다. 왜냐하면 dba를 볼 수 있는건 dba나 sys정도 되야하기 때문이다. -- 참고 레퍼런스 : https://docs.oracle.com/cloud/latest/db112/REFRN/statviews_1158.htm#REFRN20146SELECT * FROM user_objects; DESC user_tables; -- 주로 복수형이다. --USER_TABLES describes th..
*TO_DATE의 fx수정자는 함수의 문자 인수 및 날짜 형식 모델에 대한 정확한 일치를 지정한다.fx가 아니면 에러가 나지않는다. *숫자 형식 요소는 9로 채워져 있을때는 최대라서 값이 없으면 공백이지만 0인경우는 0단위까지는 채워져야 한다.*RR YY를 헷갈리지 않으려면 4자를 쓰고 년도를 정확하게 기입한다. NULL에 대해서 인식할 수 있다!!!!!!! 그룹 함수 중첩 두 함수 깊이까지 중첩될 수 있다.그룹 함수와 컬럼을 같이 쓸 수 없다.=> 결과는 항상 한건이다. ROWNUM은 GROUP함수나 GROUP BY와 쓸 수 없다.조인FROM절 다음에 JOIN문법 써야 한다.컬럼이 늘어난다(가로 확장)ROW는 JOIN의 유형에 따라 줄어들 수도 늘어날 수도 있다.참조관계를 맺는 컬럼이 조인 컬럼이 된다..
123456789101112131415161718192021222324-- 날짜에 대한 ROUND, TRUNC ALTER SESSION SET NLS_DATE_FORMAT = 'yyyy-mm-dd hh24:mi:ss';SELECT SYSDATE, ROUND(SYSDATE,'MONTH') , ROUND(SYSDATE,'year')FROM dual;SELECT last_name,hire_date,ROUND(hire_date,'YEAR')FROM employees; -- TRUNC 함수를 이용하여 1998년 3월에 입사한 사원들의 이름과 급여-- 입사일을 출력해 보세요.SELECT last_name,salary,hire_dateFROM employeesWHERE TRUNC(hire_date,'MONTH')='..
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111-- 날짜 연산ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-RR HH:MI:SS [AM]'; SELECT SYSDATE - DATE '2001-04-13'FROM dual; SELECT SYSDATE,SYSDATE+1FROM dual; SELECT SYSDATE,SYSDATE..
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970--단일행 함수 계속SELECT 'SSESS',LTRIM('SSESS','S'),RTRIM('SSESS','S'),TRIM('S' FROM 'SSESS')FROM dual; SELECT 'SSESS', LTRIM('SSESS','S'),RTRIM('SSESS','S'),LTRIM(RTRIM('SSESS','S'),'S')FROM dual; SELECT 'SSESS', TRIM(LEADING 'S' FROM 'SSESS') , TRIM(TRAILING 'S' FROM 'SSE..
컬럼 = Degreerow의 개수 = Cardinalitygroup by 해서 나오는 개수는 (적어도 1개의 row를 가져야 한다.)(중등학년 : 3, 신생초등학교학년:5... etc)패치 : SQL문 던지고 오라클 서버에서 값 받는 것DML(Data Mani(손)pulation Language) : data를 직접적으로 다루는 명령어. 대상 - data생로병사 - Insert, Update, Delete, Merge(=Upsert)Select 까지 5개 *SELECT - Data Query Language라고도 불린다. Query and Dml에서 query로 분류되기도 한다. DDL (Definition) : 데이터 정의어, 데이터를 정의하는 거 외에도 그 외에 데이터를 다루기 위해 필요한 객체(ex..
*select-listwhat 정의하는 곳. select를 사용해서 우리가 얻고자하는 정보를 나열한 곳select와 from 사이에 오는 것들을 얘기한다. *는 재료집합에 있는 모든 컬럼을 의미한다. *connection과 sessionconnection은 단순한 네트워크 연결 ( 물리적, TCP/IP 연결 같은)session은 connection 되고 난 후에 ID/PW와 같은 논리적 연결. * DDL의 대부분 명령어(CREATE, ALTER, DROP...)의 대상은 거의 모든 객체이지만 TRUNCATE의 경우 Table과 Cluster만 대상이다. * describe는 desc라는 약어가 가능, SQL문 아니다. *DDL과 DCL은 COMMIT이 포함되어 있다. * 비밀번호 번경ALTER USER ..