본문 바로가기

전체 글

(404)
[25일차] 실전 데이터 분석 : 우리집 주변은 안전할까?!-3 - 쿼리 앞에 CREATE TABLE 테이블명 AS를 입력하면 쿼리를 바탕으로 한 새로운 데이터 테이블이 생김 - TO_CHAR(수치형 데이터, '999,999')는 숫자의 천의 자리에 쉼표를 찍어줌 select case when round(a.전체카메라설치수/(a.전체카메라설치수+b.설치대수)*100, 2)
[24일차] Self-Join. 자기 자신을 연결하기 - Natural Join : Join 조건을 주지 않고 Equi-Join을 하는 방법으로, 중복된 컬럼을 제거하고 중복되는 대상의 컬럼을 키값으로 활용한다. - Cross Join : 키를 연결해주지 않으며 각 테이블 간 행의 수를 곱한 만큼의 행이 생성되며, 시스템 테스트나 테스트 예제를 생성할 때 사용된다. - 세 개의 테이블을 Join할 때는 ON 다음에 한 번 더 Join을 걸어준다. SELECT a.last_name||' '||a.first_name as 사원이름 , to_char(a.hire_date, 'YYYY-MM-DD') as 입사일 , b.department_name as 부서명 , a.salary as 급여 , c.job_title as 직업명 FROM employees a ,dep..
[23일차] Outer-Join. 모든 데이터 연결하기 - 엑셀의 VLOOKUP 함수와 유사 - RIGHT JOIN 함수 사용 시 Join하는 테이블 고유의 값들이 모두 출력되면서 행이 늘어남 - Oracle 방식의 Join은 WHERE문에서 Join하려고 하는 테이블 옆에 (+)를 써줌 SELECT * FROM employees full outer join departments ON employees.department_id = departments.department_id; ​
[22일차] Equi-Join. 같은 데이터 연결하기 오늘의 학습은 'EQUI-JOIN'을 이용하여 같은 데이터를 연결하는 것입니다. 어떤 학습을 진행할 것인지 알아보러 가보시죠! [EQUI-JOIN] : join 하려는 칼럼 간의 연결고리가 같은 필드값이 존재하는 경우 정보 연결이 가능함 - FROM 부분에 별칭을 지정하여 사용 가능 * 별칭 지정 시 AS를 이용해 사용할 수 없음 * 별칭 사용 시 별칭을 이용해 작성해야 함 [형식] SELECT 필드명 FROM 테이블명1 INNER JOIN 테이블명2 ON 테이블명1.필드명1 = 테이블명2.필드명2 WHERE 조건식;
[21일차] 실전 데이터 분석. 우리집 주변은 안전할까?!-2 지난번 실전 데이터 분석 했던것 기억하실까요? 이번 시간에는 우리집 주변은 안전할까2 학습을 할 예정입니다. 오늘의 학습은 아래와 같습니다! - cctv, 비상벨 데이터를 불러와 학습 - trim 함수는 양 옆 공백을 없애줌 SELECT trim(replace(replace(replace(관리기관명, '서울특별시',''),'구청','구'),'경찰서','구')) as 지역 , sum(카메라대수) as 전체카메라설치수 , sum(case when 설치목적구분 = '어린이보호' then 카메라대수 else 0 end) as 어린이보호시설 , sum(case when 설치목적구분 = '기타' then 카메라대수 else 0 end) as 기타 , sum(case when 설치목적구분 = '생활방범' then 카..
[20일차] 함수의 응용. 복합 함수 사용하기 오늘의 학습은 함수의 응용으로 지금까지 사용했던 함수들을 사용하는 시간입니다. - 지금까지 배운 모든 함수로 실습 - FROM WHERE GROUP BY HAVING SELECT ORDER BY 순으로 실행 꼭 기억하기! - SYSDATE 함수는 현재 시스템 상 시간을 나타내줌 - 오늘의 예문 select job_id as 직업정보 , count(*) as 직원수 , round(avg(salary),2) as 평균급여 , min(round(months_between(sysdate, hire_date)/12)) as 최소근속년수 , max(round(months_between(sysdate, hire_date)/12)) as 최대근속년수 from employees where round(months_betw..
[19일차] Group By / Having 원하는 값 만들기 오늘은 Group By와 Having을 학습하는 날입니다! 오늘은 이 두개를 이용해서 어떤 SQL문을 작성할 수 있을지 알아봅시다. [작성 순서] SELECT FROM WHERE GROUP BY HAVING ORDER BY [실행 순서] FROM WHERE GROUP BY HAVING SELECT ORDER BY - rollup 함수 : 총계를 내는 함수로,그룹바이 전체를 실행한 이후에 결과를 추가적으로 만들어주는 함수 >> SELECT로 제어해야 함 SELECT job_id ,count(*) as 직원수 ,round(avg(salary), 2) as 평균급여 FROM employees WHERE department_id in (40, 50, 60) GROUP BY job_id HAVING round(a..
[18일차] 그룹함수의 이해 part 2. 원하는 값 만들기 오늘의 학습은 지난번 그룹 함수의 연장선상입니다! 어떤 내용을 배울지 알아보러 가시죠! - SELECT 절에 CASE WHEN 구문 사용 시 구문 그대로를 GROUP BY에 옮겨와서 피벗 테이블 생성 가능 - ORDER BY는 정렬하는 함수로 오름차순이 default, 내림차순 정렬 시 뒤에 desc 붙여주기 SELECT case when salary