일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- list
- 이토록 쉬운 통계&R
- 데이터과학
- hadoop
- 하둡
- 임경덕
- 파이썬
- sql
- stat
- 숫자야구소스
- 리스트
- if문
- R
- 데이터분석
- DataAnalysis
- python
- code
- DATABASE
- 야학
- 함수
- 생활코딩
- 루비페이퍼
- BigData
- 숫자야구
- 데이터사이언스
- 숫자야구코드
- 빅데이터
- big_data
- 코딩야학
- for문
Archives
- Today
- Total
yekang
관계형데이터베이스와 SELECT문 본문
SELECT
(재료집합-테이블로부터)원하는 결과집합을 정의/요청/기술하는 문장
in oracle) select, from은 필수적으로 있어야 함.
Realational
관계형
Relation -> Table
: 데이터가 담긴 구조인 "집합"을 의미한다. 데이터베이션 "이론"에 쓰이는 말로. 이를 데이터베이스로 구현하면 "테이블"이 된다. cf: 데이터 모델에서는 엔티티
구조적 데이터
Relationship => 참조제약조건, 외래키제약조건
데이터의 형태에 따라...
구조적 데이터 : 속성에 따라 분류할 수 있음.
반구조적 데이터
비구조적(비정형) 데이터 (빅데이터의 특징.. 양이 엄청 많고 그 데이터가 체계적으로 잡혀있거나 그렇지 않거나 단시간에 발생하고 다양하고)
1 = row
2 = 중복을 허용하지 않는column -> 사원 ID이기 때문에 unique한 값.
3 = 중복을 허용하는 column
도메인의 성질에 따라 (중복/허용 거부) => constraint 제약조건.
4 = 중복도 허용하지만 NULL값도 허용하는 Column
NULL : 아직 데이터가 없다.
급여나 사원번호는 값이 무조건 있어야 하니깐 NOT NULL 제약조건 걸어줘야 한다.
5 = 필드 (하나)
6 = NULL값인 필드
WHERE절
내가 테이블에 있는 ROW중에서 필요한것만 원할 때. (ex : DEPARTMENT_ID가 90인것만 뽑아내고 싶을때)
WHERE 가 필요없는경우 => 모든 row 쓸 때
어떻게 걸러내야 할까?? => 조건
'조건식(Predicate)'이 와야 한다. 참일때만 나온다.
Candidate row = > 특정 테이블에서 왔던 row다.
GROUP BY절
BY 다음에는 값이 온다.
GROUP BY DEPARTMENT_ID면 같은 값끼리 묶음..
컬럼, 식(ex;컬럼 *10) etc...
HAVING절
WHERE과 같은 필터링절이지만 그룹을 필터링한다.
groupby안하고 having을 하면 error발생!
조건식에 가능하면 그룹함수가 있어야 의미가 있다!! 그룹함수가 없이도 할 수는 있지만 이는 where에서 할 수 있기때문에 의미가 있다고 볼 수 없다.
ex ; 3학년 운동장에 나오지마라
모두 나오게하고 학년별 하게하고 3학년 들어가라 하는것보다 선자가 효과, 효율적이다.
SELECT절
이러이러한 조건에 걸친 중간 집합에서 내가 원하는 것만 나열하는 것.
* 모든컬럼, SQ(서브쿼리), 함수 등...
ORDER BY절
정렬. 트리거가 가장 마지막에 일어난다.
**널 처리 비교..
'빅데이터 > SQL' 카테고리의 다른 글
select문에서 집합의 흐름,패치,DML,DDL,DCL,TCL (0) | 2017.12.28 |
---|---|
명령어의 종류, db user pw 변경, auto commit, NULL,dual table (0) | 2017.12.28 |
SQL 처리 단계 (0) | 2017.12.27 |
프로그램이 패러다임과 SQL (0) | 2017.12.27 |
use/create/select/insert/delete/update (0) | 2017.07.14 |