전체 글 212

[SQL] 서브쿼리

서브쿼리 분류 서브쿼리에 메인쿼리의 컬럼이 포함되는지에 따라 구분 - 연관 서브쿼리(Correlated Subquery)) - 비연관 서브쿼리(Un-Correlated Subquery) 연관 서브쿼리 메인쿼리의 컬럼이 서브쿼리에 포함되며, 메인쿼리의 컬럼은 서브쿼리에 특정 조건으로 사용된다 SELECT * FROM A WHERE A.a > (QUERY) # 메인쿼리의 테이블에 서브쿼리의 조건으로 사용되는 것을 연관서브쿼리라 함 본인이 속한 부서의 평균 급여보다 높은 급여를 받는 직원들을 출력 SELECT ID, DEPARTMENT_ID, NAME, SALARY FROM EMPLOYEE A WHERE SALARY > # 본인이 속한 부서의 평균 급여 (SELECTAVG(SALARY) FROM EMPLOYE..

SQL 이것저것 2022.09.10

[SQL] JOIN

JOIN(교집합) 두 개 이상의 테이블들을 연결 또는 결합하여 데이터를 출력하는 것 EQUI JOIN(등가 교집합) 두 개의 테이블 간에 서로 정확하게 일치하는 경우를 활용하는 조인 간단히 말해, 등가 연산자를 사용한 조인을 의미 대부분 기본키-외래키 관계를 기반으로 발생하나, 모든 조인이 그런 것은 아니다 - 기본적으로 A테이블과 B테이블이 개발자나 관리자에 의해 만들어 지지만, 꼭 이런 형태이진 않다,. Non EQUI JOIN(비등가 교집합) 두 개의 테이블 간에 서로 정확하게 일치하지 않는 경우를 활용하는 조인 등가 연산자 이외의 연산자들을 사용한 조인을 의미 - 일반적으로 많이 사용되진 않음 INNER JOIN 내부 JOIN 이라고 하며 JOIN 조건에서 동일한 값이 있는 행만 반환 INNER ..

SQL 이것저것 2022.08.30

[SQL] 계층형 질의

계층형 질의란? 테이블에 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해 사용하는 것 계층형 데이터를 데이터베이스 마다 질의하는 방법이 다름 - ORACLE - SQLSERVER 계층형 데이터 - 동일 테이블에 계층적으로 상위와 하위 데이터가 포함되어 있는 데이터 사원의 관리자는 하위 데이터이기 때문에 관리자는 A라는 것을 알 수 있다. 이를 상위 데이터와 하위데이터를 사원과 관리자를 서로 순환 관계 데이터라고 보며 이를 계층형 구조라고 한다. - START WITH 는 어떤 데이터가 최상위 데이터가 될 것인지 기준을 잡아주는 것임 (부모컬럼 - 관리자가 NULL 최상위 데이터를 잡아주는 것이다.) - CONNECT BY 연결을 시켜줌, 자식과 부모의 관계를 연결시켜주는 방식임 SELECT LEVE..

SQL 이것저것 2022.08.30

[SQL] Standard SQL

이외에도 비관계형 데이터베이스(NOSQL)도 존재한다. (대표적으로 MongoDB) 알고자 하는 데이터를 조회하기 위해 이들을 사용하게 된다. 일반 집합 연산 두개의 테이블에서 특정 테이블을 본다고 하였을 때, 보는 관점에 따라 동일한 차집합 연산이 될 것이다, 카티션 곱은 가능한 모든 경우의 수를 나타내게 된다. 실제 데이터 베이스에서 어떤 키워드로 사용되는지 볼 수 있다. 주요로 볼건, 카티션 곱은 해당하는 데이터에서 모든 경우의 수를 보여주게 된다. 순수 관계 연산 순수 관계 연산 별 SQL 셀렉션 - 시그마로 표시되며, 3보다 작은 값을 추출하라는 의미 프로젝션 - 파이로 표시되며, 컬럼조건에 대한 어떤 관계정보인지 들어간다. 조인(세타조인, 동등조인, 자연조인, 외부조인) - 조인은 세타조인, ..

SQL 이것저것 2022.08.30

[백준] 11653번: 소인수분해

https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 문제 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오. 입력 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. 출력 N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다. 풀이 a = int(input()) soinsu_list= [] soinsu =2 while a > 1: if a % soinsu !=0: soinsu += 1 else: a = a / soinsu soinsu_list.append(soinsu) for i in so..

[SQL] 서브쿼리

서브쿼리 정의 하나의 쿼리 안에 포함된 또 하나의 쿼리 메인 쿼리가 서브쿼리를 포함하는 종속적인 관계 특징 알려지지 않은 기준을 이용한 검색 메인 쿼리 실행 이전 한 번만 실행 한 문장에 여러번 사용가능 기존의 검색 방법 사원 급여를 알고 있는 상태에서 더 높은 급여를 받는 사원을 조회 SELECT * FROM employee WHERE 급여 > 2500; 사원 mj의 급여를 알지 못해도 검색 가능 SELECT * FROM employee WHERE 급여 > (SELECT 급여 FROM employee WHERE 이름=‘mj’); 서브쿼리 사용시 주의사항 - 서브쿼리는 괄호와 함께 사용되어야 한다. - 서브쿼리 안에서 ORDER BY 절은 사용할 수 없음 - 서브쿼리는 연산자의 오른쪽에 사용되어야 함 -..

SQL 이것저것 2022.08.14

[SQL] 데이터 그룹

GROUP BY SELECT(명령) user_id, COUNT(*)(검색컬럼) FROM rental GROUP BY user_id(그룹화 기준); 그룹함수 활용 방법 SELECT user_id, SUM(컬럼명) FROM rental GROUP BY user_id; -- user_id가 같은 열에서 컬럼의 내용을 다 더한 값을 출력 SELECT user_id, AVG(컬럼명) FROM rental GROUP BY user_id; -- user_id가 같은 열의 컬럼의 평균을 출력 SELECT user_id, MAX(컬럼명) FROM rental GROUP BY user_id; -- user_id가 같은 열중에서 해당 컬럼명이 가장 큰 값을 출력 SELECT user_id, MIN(컬럼명) FROM rent..

[SQL] SQL 함수

SELECT * FROM book LIMIT 5; COUNT 데이터의 개수를 확인 검색한 결과의 데이터의 개수를 가져오는 내장함수 NULL인 데이터는 제외 COUNT 기본 문법 검색할 데이터에 *을 입력하면 모든 데이터 검색 SELECT COUNT(id) FROM book; LIMIT 데이터의 일부만 보고 싶을 때 테이블에서 출력하고자 하는 데이터의 개수를 제한하는 명령 LIMIT 기본 문법 첫 번째 컬럼의 시작은 0 즉, ‘LIMIT 1, 5’는 2번째 데이터부터 5개를 가져오라는 의미 book 테이블에서 데이터를 5개만 가져오기 SELECT * FROM book LIMIT 5; 2번째 데이터부터 5개를 가져오기 SELECT * FROM book LIMIT 1, 5; SUM & AVG SUM 지정한 컬..

SQL 이것저것 2022.08.12

[SQL] DML(데이터 조작어) 다루기

LIKE 특정 문자가 포함된 문자열을 찾고 싶을 때 사용하는 명령 LIKE 조건의 기본 문법 book 테이블에서 제목(title)이 ‘어린왕자’인 책 검색 SELECT * (명령) FROM book (테이블) WHERE title LIKE ‘어린왕자';(조건) LIKE 조건의 다양한 형태 book 테이블에서 제목(title)이 ‘린왕’이 포함되는 책 검색 SELECT * FROM book WHERE title LIKE '%린왕%'; 데이터 정렬하기 수학(math) 점수가 높은 순으로 데이터 정렬 ORDER BY 데이터를 검색할 때 정렬하여 결과를 출력하는 명령어 score 테이블에서 수학(math) 값이 높은 데이터부터 정렬하여 검색 SELECT * (명령) FROM score (테이블) ORDER BY..

SQL 이것저것 2022.08.11

[AIFB] matplolib, seaborn 시각화

Python 활용한 데이터 전처리/시각화 Chapter 2. 데이터 시각화 데이터 시각화는 데이터 분석과정에서 매우 중요한 부분입니다. 프로젝트 초기 단계 또는 리포팅 단계에서의 탐색적 데이터 분석(EDA)의 일환으로 결과를 다른 사람과 공유할 때 유용합니다. 또한 데이터를 시각화 하면 값의 분포나 값 사이의 관계를 확인하고 모델링을 위한 가설 도출을 하는데 도움이 됩니다. 1. Matplotlib 라이브러리 Matplotlib 개요 Matplotlib는 파이썬에서 데이터를 차트나 플롯(Plot)으로 그려주는 가장 많이 사용되는 데이터 시각화(Data Visualization) 패키지로 라인 plot, 바 차트, 파이차트, 히스토그램, Box Plot, Scatter Plot 등을 비롯하여 다양한 차트와..