오늘은 SQL을 복습하는 시간을 가져 보자.
SQL 이란
SQL 은 데이터베이스와 대화를 하기 위한 언어
테이블과 컬럼
- 테이블은 아래와 같은 구조
- 각 열을 ‘컬럼’ 혹은 ‘필드’ 라고 부릅니다.
- 데이터 조회하기 (SELECT, FROM)
- 컬럼에 별명(alias) 을 주기
- order_id as ord_no
- restaurant_name "식당 이름"
- 조건에 맞는 데이터로 필터링하기 (WHERE)
- BETWEEM : A 와 B 사이
- 기본 문법 : between a and b
- 예시 : 나이가 10 과 20 사이
- where age between 10 and 20
- IN : ‘포함’ 하는 조건 주기
- 기본 문법 : in (A, B, C)
- 예시1 : 나이가 15, 21, 31 세인 경우
- age in (15, 21, 31)
- 예시2 : 음식 종류가 한식, 일식인 경우
- cuisine_type in ('Korean', 'Japanese')
- LIKE : 완전히 똑같지는 않지만, 비슷한 값을 조건으로 주기
- 특정한 문자로 시작하는 경우
- 기본 문법 : like ‘시작문자%'
- 특정한 문자를 포함하는 경우
- 기본 문법 : like ‘%포함문자%’
- 특정한 문자로 끝나는 경우
- 기본 문법 : like ‘%시작문자’
- 특정한 문자로 시작하는 경우
- 논리연산의 종류
- BETWEEM : A 와 B 사이
숫자 연산
select food_preparation_time,
delivery_time,
food_preparation_time + delivery_time as total_time
from food_orders
- 합계 : SUM(컬럼)
- 평균 : AVG(컬럼)
- 데이터 갯수 : COUNT(*)
- 몇개의 값을 가지고 있는지 구할 때 (중복 제외) : DISTINCT (컬럼)
- 최솟값 : MIN(컬럼)
- 최댓값 : MAX(컬럼)
GROUP BY로 범주별 연산
Group by 는 카테고리 컬럼 지정, 그리고 Group by 를 적어주는 것으로 적용 가능
select 카테고리컬럼(원하는컬럼 아무거나),
sum(계산 컬럼),
from
group by 카테고리컬럼(원하는컬럼 아무거나)
결과를 정렬 (ORDER BY)
Order by 는 카테고리 컬럼 지정, 그리고 Order by 를 적어주는 것으로 적용
select 카테고리컬럼(원하는컬럼 아무거나),
sum(계산 컬럼),
from
group by 카테고리컬럼(원하는컬럼 아무거나)
order by 정렬을 원하는 컬럼 (카테고리컬럼(원하는컬럼 아무거나), sum(계산 컬럼) 둘 다 가능)
SQL로 가공하기 (REPLACE, SUBSTRING, CONCAT)
- replace(바꿀 컬럼, 현재 값, 바꿀 값)substr(조회 할 컬럼, 시작 위치, 글자 수)
select addr "원래 주소",
substr(addr, 1, 2) "시도"
from food_orders
where addr like '%서울특별시%'
- substr(조회 할 컬럼, 시작 위치, 글자 수)
select addr "원래 주소",
substr(addr, 1, 2) "시도"
from food_orders
where addr like '%서울특별시%'
- concat(붙이고 싶은 값1, 붙이고 싶은 값2, 붙이고 싶은 값3, .....)
select restaurant_name "원래 이름",
addr "원래 주소",
concat('[', substring(addr, 1, 2), '] ', restaurant_name) "바뀐 이름"
from food_orders
where addr like '%서울%'
조건에 따라 포맷변경 (IF, CASE)
- if(조건, 조건을 충족할 때, 조건을 충족하지 못할 때)case when 조건1 then 값(수식)1
when 조건2 then 값(수식)2
else 값(수식)3
end
select restaurant_name,
cuisine_type "원래 음식 타입",
if(cuisine_type='Korean', '한식', '기타') "음식 타입"
from food_orders
여러 번의 연산을 한 번의 SQL 문으로 수행하기 (Subquery)
select column1, special_column
from
( /* subquery */
select column1, column2 special_column
from table1
) a
select column1, column2
from table1
where column1 = (select col1 from table2)
필요한 데이터가 서로 다른 테이블에 있을 때 조회하기 (JOIN)
-- LEFT JOIN
select 조회 할 컬럼
from 테이블1 a left join 테이블2 b on a.공통컬럼명=b.공통컬럼명
-- INNER JOIN
select 조회 할 컬럼
from 테이블1 a inner join 테이블2 b on a.공통컬럼명=b.공통컬럼명
그리고 내가 만들었던 sql 명령어 모음을 참고해서 배워두어야 겠습니다.
SQL 명령어 모음 — 박현준의 코딩 교육 (tistory.com)
SQL 명령어 모음
테이블에서 원하는 컬럼만 선택 SELECT * (모든 쿼리) / query 중에 아무꺼나 원하는 거 from food_orders fo (테이블 명)_ 컬럼에 별명(alias)을 주기 SELECT restaurant_name '레스토랑 이름', // 퀘리 옆에 ' ' 붙여
phjphj147.tistory.com
GIT 강의
GIT 충돌 해결 방법
A작업자와 B작업자가 하나의 프로젝트를 작업하다 보면 같은 파일을 작업해서 커밋 후 PUSH 또는 PULL을 하다보면 충돌이 납니다.
이때는 오류가 발생을 하는데
아래와 같이 방법을 제시해 준다.
이렇게도 뜬다.
내꺼를 살릴지 서버의 것을 살릴지 둘다 살릴지를 선택할 수 있다.
- git reset --hard/soft/mixed
브랜치
브랜치
이거 다시 봐야겠다....
GIT 명령어 모음 — 박현준의 코딩 교육 (tistory.com)
GIT 명령어 모음
GIT에 대하여 알아보자 Git 커밋 COMMIT : 아랫 단계를 만들어 주는 것??? 기존에 있는 것에 자식을 만들어 주는 것이며 c2의 부모가 c1이 된다. Git 브랜치 branch : 브랜치는 특정 커밋에 대한 참조(referen
phjphj147.tistory.com