sql 4

SQL : Subquery, With, 문자열, Case

1. Subquery: 원하는 데이터를 더 쉽게 얻어보기 쿼리 안의 쿼리라는 의미. 하위 쿼리의 결과를 상위 쿼리에서 사용하면, SQL 쿼리가 훨씬 간단해짐 쪼개서 생각하자. 둘다 만든 다음에 합치면 된다. -- 예) kakaopay로 결제한 유저들의 정보 보기 select u.user_id, u.name, u.email from users u inner join orders o on u.user_id = o.user_id where o.payment_method = 'kakaopay' -- 이걸 다른 방법으로 나타낼 수 있음! 우선 kakaopay로 결제한 user_id를 모두 구해보기 select u.user_id from orders where payment_method = 'kakaopay' --..

Database/SQL 2023.11.26

SQL : Join, Union

1. Join: 여러 정보를 한 눈에 보는 것 두 테이블의 공통된 정보 (key값)를 기준으로 테이블을 연결해서 한 테이블처럼 볼 수 있다. 테이블은 기본적으로 한 정보만 담아두는게 효율적으로 좋기 때매 분리해서 데이터를 저장한다. 만약, 두 테이블의 정보를 연결해서 함께 보고싶을때는 어떻게 해야 할까? 이럴 때를 대비해서 user_id 처럼 동일한 이름과 정보가 담긴 필드를 두 테이블에 똑같이 담아놓으면, 이 필드를 이용해 연결할 수 있다. 두 테이블을 연결시켜주는 열쇠라는 의미로 "key" 라고 부른다. 2. Join의 종류: Left Join, Inner Join - Left join SQL에서의 Join은 두 집합 사이의 관계와 같다. A, B는 각 테이블을 의미하고 둘 사이의 겹치는 부분은, 테..

Database/SQL 2023.11.26

SQL : Group by, Order by, 별칭(Alias)

- 데이터 분석의 목적: 쌓여있는 날것의 데이터 → 의미를 갖는 '정보'로의 변환 - 더 나아가면? '범주 (category)' 각각의 정보 (예) 과목별 신청자 평균 연령, 과목별 신청자수, 성씨별 회원수 등 - 통계 구하기: 기존 방법의 한계. 기존의 방법대로만 한다면 where 절을 사용해서 수십개의 쿼리를 작성해야 함. 그래서 이걸 사용한다. - 동일한 범주의 데이터를 묶어주는 Group by 동일한 범주를 갖는 데이터를 하나로 묶어서, 범주별 통계를 내주는 것을 의미 Group by를 이용하면 1) 같은 성씨의 데이터를 하나로 묶고 2) 각 성씨의 회원수를 구할 수 있음 - 깔끔하게 데이터를 정렬해보자: Order by 오름차순 또는 내림차순으로 정렬 1. 범주의 통계를 내주는 Group by ..

Database/SQL 2023.11.26

SQL : 데이터 베이스의 기초 개념, select, where

Q. 데이터 베이스는 왜 필요할까? A : 많은 양의 데이터를 효과적으로 저장/수정/사용하기 위해서는 데이터베이스가 필요. 1. 데이터 베이스의 기초 개념 데이터를 잘 꺼내오기 위해서 쓰는 것. 여러 사람들이 같이 사용할 목적으로 데이터를 담는 통 모든 데이터베이스는 CRUD에 해당하는 기능을 지원. C (Create): 데이터의 생성 R (Read): 저장된 데이터를 읽기 U (Update): 저장된 데이터를 변경 D (Delete): 저장된 데이터를 삭제 2. SQL이란 무엇일까? Structured Query Language의 약자로, 데이터베이스에 요청 (Query)을 날려서 원하는 데이터를 가져오는 것을 도와주는 언어이다. 데이터를 읽어오는 과정인 "R (Read)"를 편하게 만들고, 데이터를 ..

Database/SQL 2023.11.26