일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SQLD
- 통계
- IRIS
- 시각화
- Deep Learning Specialization
- Python
- 데이터 전처리
- ML
- 이코테
- sklearn
- 딥러닝
- 데이터분석
- matplotlib
- r
- Google ML Bootcamp
- tableau
- 파이썬
- scikit learn
- 자격증
- 데이터 분석
- 데이터분석준전문가
- 코딩테스트
- SQL
- 머신러닝
- ADsP
- pandas
- pytorch
- 회귀분석
- 태블로
- 이것이 코딩테스트다
- Today
- Total
목록데이터분석 공부/SQL (11)
함께하는 데이터 분석
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bcICnA/btrAV3mI7rM/3teKhbZLIk4PvPP83xsMS0/img.png)
오늘은 SQL에서 복수 행 함수에 대해 알아보겠습니다. 복수 행 함수는 단일 행 함수와 달리 여러 행들이 하나의 결과값으로 나타나는 특징이 있습니다. 복수 행 함수에는 집계 함수와 그룹 함수가 있습니다. 표로 요약하여 보여드리겠습니다. 구분 함수 설명 집계 함수 count / count(distinct) 행수 / 중복 제거한 행수 sum 합계 avg 평균 max / min 최대 / 최소 그룹 함수 with rollup 소계와 합계 그럼 이제 SQL workbench를 통해 살펴보겠습니다. 데이터 베이스 사용 /* 데이터베이스 da 사용 */ use da; insurance 데이터를 사용하기 위해 데이터 베이스 da를 사용하겠습니다. 그럼 이제 insurance 데이터를 조회하겠습니다. 데이터 조회 /* ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/67FmM/btrAWAEwdqg/GojxHYxeSY8rWzy2G4nCZk/img.png)
오늘은 SQL을 통해 단일 행 함수에 대해 알아보겠습니다. 단일 행 함수는 숫자형, 문자형, 날짜형, 형 변환, 일반 함수로 나뉩니다. 표로 요약하여 보여드리겠습니다. 구분 함수 설명 숫자형 함수 abs(숫자) 절댓값 반환 round(숫자, n) 소수점 n자리까지 반올림 sqrt(숫자) 양의 제곱근 값 반환 문자형 함수 lower(문자) / upper(문자) 소문자 / 대문자 반환 left(문자, n) / right(문자, n) 왼쪽 / 오른쪽 n만큼 반환 length(문자) 문자수 반환 날짜형 함수 year / month / day 연 / 월 / 일 반환 date_add(날짜, interval) 날짜에 interval만큼 반환 datediff(날짜a, 날짜b) 날짜a - 날짜b 일수 반환 형변환 함수 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cLe2X1/btrAL5rausN/3NP5jabDAWzHrySSF5aKa0/img.png)
이번에는 SQL을 통해 특수 연산자와 집합 연산자를 알아보겠습니다. 연산자에 대한 설명을 표로 보여드리겠습니다. 구분 연산자 설명 특수 연산자 between a and b / not between a and b a와 b의 값 사이 / a와 b의 값 사이가 아님 in (a, b) / not in (a, b) a와 b의 값 / a와 b의 값이 아님 like '비교문자열' 비교문자열과 같음 is null / is not null NULL / NULL이 아님 집합 연산자 union 2개 이상 테이블의 중복된 행 제거하여 집합 union all 2개 이상 테이블의 중복된 행 제거없이 집합 그럼 이제 SQL workbench를 통해 살펴보겠습니다. 데이터 베이스 /* 데이터베이스 da 사용 */ use da; 이전..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bylqtx/btrAJAeRN5X/0axgsjYy6Yawlcqq88yOt0/img.png)
오늘은 SQL을 통해 비교 연산자와 논리 연산자를 알아보겠습니다. 우선 연산자에 대해 표로 설명드리겠습니다. 구분 연산자 설명 비교 연산자 = ~와 같다 ~와 같지 않다 >= ~보다 크거나 같다 ~보다 크다 = : 크거나 같음 */ select * from insurance where children >= 2; >= 연산자를 이용하여 2보다 크거나 같은 데이터만 불러왔습니다. /* 연산자를 이용하여 2보다 큰 데이터만 불러왔습니다. >= 와 다르게 children이 2인 데이터가 안 보이는 것을 확인할 수 있죠. /* < : 작음 */ select * from insurance where children < 2; < 연산자를 이용하여 2보다 작은 데이터만 불러왔습니다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/znw0L/btrAFbexzL3/G8ivWPwRpLwsIhzKDHtrVK/img.png)
오늘은 여러 개의 테이블을 결합하는 데 사용하는 Join을 알아보겠습니다. 두 개 혹은 그 이상의 테이블이 있을 때 하나의 테이블로 합쳐서 보고 싶을 때 사용합니다. column의 공통된 데이터 값을 기준으로 테이블을 결합합니다. SQL에서 Join은 크게 3가지 종류가 있습니다. Inner Join : 테이블의 공통되는 값에 매칭 되는 데이터만 결합 Left Join : 왼쪽 테이블을 기준으로 테이블의 공통 값이 매칭 되고 왼쪽 테이블에 매칭 되지 않는 오른쪽 테이블의 데이터는 NULL처리 Right Join : 오른쪽 테이블을 기준으로 테이블의 공통 값이 매칭 되고 오른쪽 테이블에 매칭 되지 않는 왼쪽 테이블의 데이터는 NULL처리 그럼 workbench를 통해 자세히 살펴볼까요? 데이터 베이스 사용..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/HokIE/btrz43VVJmL/a9ZbwqFkZ9A8khunJCjg11/img.png)
오늘은 데이터를 조회하는 데 사용하는 Select를 조금 더 자세히 알아보겠습니다. Select는 앞에 SQL 명령어 중 데이터 조작어에서 살짝 다뤘습니다. 뒤에서 자세히 다루는 이유는 앞으로 많이 사용하기 때문인데요. 데이터를 분석할 때 Select는 여러 가지 절들과 함께 사용합니다. 대표적으로 from, where, group by, having, order by가 있습니다. 오늘 사용할 데이터는 insurance 데이터입니다. 앞서 R을 통한 회귀분석에서도 이 데이터를 사용했죠. 이제 Workbench에서 살펴보겠습니다. 데이터 베이스 사용 /* 데이터베이스 da 사용 */ use da; 데이터 베이스 da를 사용하겠습니다. 데이터 불러오기 왼쪽의 da 데이터베이스에 마우스 오른쪽을 클릭하면 Ta..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dbZvk4/btrzYTF3Yck/0CCVYIKyHKNlucstDXKrtK/img.png)
이번에는 SQL 명령어 4가지 중 마지막인 트랜젝션 제어어(TCL)에 대해 알아보겠습니다. 트랜젝션 제어어는 데이터 조작어(DML) 명령어를 실행, 취소, 임시 저장할 때 사용하는 명령어입니다. Workbench를 통해 알아보겠습니다. 테이블 생성 /* 테이블 생성 */ create table 인적사항 ( 인덱스 int primary key, 이름 varchar(10), 생년월일 date not null, 성별 varchar(2) ); 전에 만들었던 인적사항 테이블을 그대로 가져왔습니다. 트랜젝션을 시작해보겠습니다. 트랜젝션 시작 /* 트랜젝션 시작 */ begin; 항상 트랜젝션을 시작할 때 begin; 을 실행해줘야 합니다. 이제 트랜젝션을 통해 취소를 하는 방법을 알아보겠습니다 취소(rollback..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/pl1cT/btrzYg9mJA1/wBQ0ENKHELwedtENVkHcNk/img.png)
오늘은 SQL의 명령어 중 하나인 데이터 제어어(DCL)에 대해 알아보겠습니다. 데이터 제어어는 데이터 접근 권한을 부여하거나 제거할 때 사용하는 명령어입니다. Workbench를 통해 살펴보겠습니다. MySQL 데이터베이스 사용 /* MySQL 데이터베이스 사용 */ use mysql; 사용자 확인 /* 사용자 확인 */ select * from user; 이렇게 기존의 4개의 localhost가 있습니다. 여기에 제가 사용자를 추가해보도록 하겠습니다. 사용자 추가 /* 사용자 아이디 및 비밀번호 생성 */ create user 'JH' @localhost identified by '1234'; create user로 JH 사용자를 추가하고 identified by로 비밀번호를 1234로 설정했습니다...
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/SJyRT/btrzMwQ78Gs/63jJD2px0mamceYzLaqIZ0/img.png)
오늘은 SQL 명령어 4가지 중 하나인 데이터 조작어(DML)에 대해 알아보겠습니다. 저번 시간에 데이터 정의어를 통해 테이블을 생성, 변경, 삭제를 해봤는데요. 데이터 조작어는 데이터를 삽입, 조회, 수정, 삭제할 때 사용하는 명령어입니다. 코드를 통해 알아보겠습니다. 데이터 베이스 사용 /* 데이터베이스 DA 사용 */ use da; 저번 데이터 정의어를 공부할 때 만들어놓은 데이터 베이스 da를 사용하겠습니다. 테이블 생성 /* 테이블 생성 */ create table 인적사항 ( 인덱스 int primary key, 이름 varchar(10), 생년월일 date not null, 성별 varchar(2) ); 테이블도 저번 시간에 만들어본 인적사항 테이블을 그대로 사용하겠습니다. 테이블 데이터 삽..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bGtkn6/btrzDOe18DJ/IYedKFuqATDjUppaRxb7D1/img.png)
안녕하세요! 오늘은 SQL 명령어 4가지 중 하나인 데이터 정의어(DDL)에 대해 알아보겠습니다. 데이터 정의어는 우리가 사용할 테이블을 생성, 변경, 삭제를 할 때 사용하는 명령어입니다. 코드를 통해 알아보겠습니다. 데이터 베이스 생성 및 사용 /* 데이터베이스 da 생성 */ create database da; 데이터 베이스 da가 생성된 것을 알 수 있습니다. 이 데이터 베이스 da에 테이블을 만들려면 데이터베이스를 사용해야겠죠? /* 데이터베이스 da 사용 */ use da; 데이터 베이스 da를 사용할 수 있게 되었습니다. 이제 테이블을 만들어보겠습니다. 테이블 생성 /* 테이블 생성 */ create table 인적사항 ( 인덱스 int primary key, 이름 varchar(10), 생년..