[SQL 문제풀이] 3. JOIN으로 두 개의 테이블 데이터 사용하기
·
Programming Language/SQL 문제풀이
JOIN?● 공통 칼럼을 기준으로 두 테이블을 합쳐서   각각 테이블에서 필요한 데이터를 가져오는 것 ● LEFT JOIN : 공통 칼럼(키값)을 기준으로,                         하나의 테이블에 값이 없더라도 모두 조회예시 TABEL 1 : 주문정보        TABEL 2 : 고객정보 음식점명(TABLE1)고객코드(TABLE1, 2)전화번호(TABLE2)연령(TABLE2)1원투1001000-0000-0001172가나1002000-0000-0002233에이비1003000-0000-0003344시디1004000-0000-0004435쓰리투1005000-0000-0005516디디야1006                                                       ..
[SQL 문제풀이] 2. Subquery로 조건별 수수료 계산
·
Programming Language/SQL 문제풀이
SubQuery?● Query 안에 Sub로 들어간 구문 ● 왜 필요할까?- 여러번의 연산을 효율적으로 수행하기 위해- 조건문에 연산 결과를 사용하기 위해- 조건에 Query 결과를 사용하기 위해 ● 기본 구조SELECT 칼럼1, 칼럼2FROM          ( SELECT 칼럼1, 칼럼2            FROM 테이블          ) a - 수학 연산에서 '(a+b)*c' 와 연산방식이 같다 - 괄호 안에 먼저 명령문을 수행하고 밖에 있는 값을 명령문 수행- 'a' 의 의미는 ()의 순서 or 명칭 ( a라는 SubQuery ) ● 문제 : 음식점의 평균 단가별 Segmentation(세분화)을 진행하고,           그룹에 따라 수수료를 연산하기   (수수료 구간 ~5000원 미만 0..
[SQL 문제풀이] 1. CASE 문을 사용한 지각여부 판단
·
Programming Language/SQL 문제풀이
문제 : 배달시간이 늦었는지 판단하는 값 만들기지시사항 - 주중 : 25분 초과                  주말 : 30분 초과 예시 TABLE : 주문정보 고객코드음식점명평일주말 배달시간11001식스맨평일2421002피자리아주말2731003스케스시주말3241004셋찜닭평일2551005단리향평일2161006이겼동주말29 ● 단계별 풀이1. 어떤 테이블에서 데이터를 찾을 것인가 - FROM 주문정보2. 어떤 칼럼을 사용할 것인가 - 평일주말, 배달시간3. 어떤 조건을 지정해야 할 것인가 - X4. 어떤 함수를 사용할 건인가 - CASE WHEN THEN END 전체 구문 ( + 해석)SELECT 고객코드,                음식점명,                평일주말,             ..
1-3 데이터베이스, SQL 기초
·
Programming Language
문자 데이터도 바꾸고 분류해보고 싶다면● GROUP BY를 사용해서 분류해 보기예시 TABLE : 음식점 고객코드음식점명음식종류주문횟수지역11001식스맨양식2서울특별시21002피자리아양식6경기도31003스케스시일식2강원특별자치도41004셋찜닭한식4세종특별자치시51005단리향중식8서울특별시61006식스맨양식5서울특별시71007단리향중식4서울특별시 - 문제 : '[지역] 음식점이름 (음식종류)' 칼럼을 만들고, 총 주문건수 구하기(단, 지역은 두 글자로 표현)  우선 흐름을 파악해서 순서대로 작성해 보자.1. 어떤 테이블에서 데이터를 찾을 것인지 → FROM 음식점 2. 어떤 칼럼(열)을 사용할 것인지 → 지역, 음식점명, 음식종류3. 어떤 조건을 지정해야 할지 → GROUP BY 14. 어떤 함수를 사용할..
1-2. 데이터베이스, SQL 기초
·
Programming Language
데이터의 문자 형태가 다르다면예시 표) TABLE : 음식점 식별번호음식점명음식장르주소11001여정한식서울특별시21002식스맨양식세종시31003스시도일식강원특별자치도41004천리향중식세종시 ??? : 데이터베이스를 사용하다가 변경할 일이 생겼어요.??? : 특별시, 자치도 같은 명칭을 빼고 앞에 두 글자만 필요해요. 이런 경우에는 어떻게 해야할까? ● REPLACE : 칼럼의 데이터를 변경- 사용 방법REPLACE(바꿀 칼럼, 현재 값, 바꿀 값) - 사용 예 : 데이터베이스를 사용하다가 데이터를 변경할 일이 생겼을 때.SELECT 주소 "변경 전 주소",REPLACE(주소, '세종시', '세종특별자치시') "변경 후 주소"FROM 음식점WHERE 주소 LIKE '%세종%' - 결과물 변경 전 주소변경 ..
1-1. 데이터베이스, SQL 기초
·
Programming Language
SQL...? (Structured Query Language)●  데이터베이스와 대화를 하기 위한 언어●  데이터베이스에 요청을 하는 '질의' = Query 데이터베이스 (DataBase)● 파일 탐색기(WindowOS 폴더)로 비유했을 때,   - 데이터베이스(DB) = 폴더(Folder)   - 테이블(TABLE) = 파일(File) ●  테이블 (TABLE) - 각 열을 칼럼(COLUMN), 혹은 필드(FIELD)   (즉, 표에서 분류 아래의 정보들) TABLE1 (고객정보) 고객번호이름성별나이11001 홍길동 남2021002김지우여24                                                  => COLUMN or FIELD TABLE2 (상품정보) 상품번호상품명..