본문 바로가기

카테고리 없음

SQL 1주차 공부내용

모든 쿼리문에서는 select가 들어감

Select :  쿼리문은 어떤 테이블에서 어떤 필드의 데이터를 가져올지가 핵심임

테이블은 전체필드는 특정 구간으로 해석하면 편함

 

Select의 가장 기초적인 사용법은 Where 절이며 이는 특정 데이터만 가져오고 싶을때 사용

: 조건을 거는 법이라 해석이 됨

 

내가 배울 강의 테이블을 간단히 정리하자면

 - checkins : 강의실 들어오면서 남기는 '오늘의 다짐'들어있음
 - courses :  개설 강좌 정보
 - enrolleds : 유저별 강좌 유저별 들을 수 있는 영상 + 여부
 - orders : 수강등록 정보
 - point_users : 유저별 포인트 점수
 - users : 유저 정보

 

SQL을 쓸때 Tip은

1. 길어지면 알아보기 힘들기에, 줄을 잘 맞춰 가독성을 좋게해라

2. ' '안에 있는 데이터는 문자열이며, 아닌 것은 테이블, 필드, 숫자가 있다.

 

기본 문법

= :  필드의 정확한 데이터를 찾고 싶을때 사용

[예시]  성이 김씨인 유저를 추출 : where name = '김**'

 

<=, >= :  필드의 데이터 특정한 데이터를 찾고 싶을때 사용

[예시]  20000이상의 포인트를 가진 유저를 추출 :  where point <= 20000

 

!= :  필드의 정확한 데이터를 제외한 나머지를 찾고싶을 때 사용

[예시]  김씨가 아닌 유저를 추출 : where name != '김**'

 

and(그리고) :  자세하게 찾고 싶을 때 사용

[예시] 성이 김씨면서 카카오페이로 결제한 유저 추출 : where name = '김**' and payment = 'kakaopay' 

 

or (또는) :  특정 데이터를 가진 것을 보고 싶을 때 사용

[예시] 성이 김씨거나 카카오페이로 사용한 유저 추출 : where name = '김**' or payment = 'kakaopay'

 

between(범위) : 필드의 특정 범위 안에 있는 데이터를 찾고 싶을때 사용

[예시] 2000포인트 이상 3000포인트 이하를 가진 유저 추출 : where point between 2000 and 3000

 

in (포함, 포함) : 필드의 특정 포함 데이터를 추출하고 싶을 때 사용

[예시] 이름이 김씨 또는 이씨의 유저를 추출 : where name in('김**','이**')

 

like(패턴) : 필드의 데이터를 특정 데이터를 사용한 것을 추출하고 싶을때 사용

[예시] 네이버 이메일(@naver.com)을 사용한 유저 : where email like '%@naver.com'

 

추가 문법 : Limit, Distinct, Count

limit :제한을 걸어 적은 숫자 만큼 보여줌.(일부 데이터만 가져오기)
[예시] 네이버 이메일을 사용 한 유저 3명 추출 : where email like '%@naver.com' limit 3


distinct : 중복 제거하고 볼 수 있음

[예시] : 결제 수단을 추출 : select distinct(payment) from orders

 

count : 종류가 몇개인지 볼 수 있음

[예시] 네이버 이메일을 사용하는 유저가 몇명인지 추출 :

select count(*) from users
WHERE email like '%@naver.com'

 

 

원하는 정보를 찾고 싶을때 Tip

1. 가장 우선시 어떤 테이블이 있는지 show tables을 통해 살펴보기
2. 원하는 정보가 있을 것 같은 테이블을 select * from 테이블명 으로 쿼리 날려보기
3. 원하는 정보가 없다면 다른 테이블 해보기
4. 테이블을 찾았으면 조건을 걸 필드를 찾기
5. select*form 테이블 명 where 조건 이렇게 쿼리 완성

 

정리

SQL을 통해 내가 원하는 데이터를 추출할 수 있는 방법에 대해 간단히 알아봤다.

배우면서 느낀건 직접해보는 것도 중요하지만, 강사님의 두가지 말씀을 세겼다 

1.  바로 바로 써먹기

내 것으로 만들려면, 배운것을 직접 써봐야 한다. 

 

2. 삽질의 중요성

에러를 보더라도 바로 묻지말고, 스스로 해결 하면서 감을 익히는 것도 중요하다.

이 후 똑같은 에러를 봤을 경우 그 이유를 쉽게 기억해낼 수 있기에 빠르게 해결 할 수 있다.