본문 바로가기
MYSQL

SQL 써보며 이해하기 1 - 기본 문법

by 코드닭 2024. 3. 21.

SQL : DB에 어떤 정보를 요청할때 쓰는 언어

       SQL을 사용해 데이터를 요청 = 'Query' 라고 하고 'Query'작성 = DB에 요청을 할때

DB안에는 아래처럼 생긴 '테이블'이 있다 (엑셀과 비슷한 구조)
  Name Nation Age Gender ...
1 홍길동 한국 33 남자  
2 짱구 일본 5 남자  
3 제인 도 미국 50 여자  
테이블의 각각의 열은 '컬럼(Culumn)' 혹은 '필드(Field)' , 행은 로우(row) 등으로 부른다

 

SQL의 기본문법

  • SELECT : 데이터를 가져오는 기본 문법
  • FROM : 데이터를 가져오는 테이블을 특정해준다

위 예시 테이블의 이름이 'People' 이라고 한다면

SELECT *

FROM People   //   이라고 작성하면 위의 예시와 같은 테이블이 열린다 ( * = 전체)

 

SELECT Nation

FROM People  //  은 위 예시테이블의 Nation컬럼만 열린다

  Nation
1 한국
2 일본
3 미국

 

 

컬럼의 이름을 다르게 사용하고 싶을때는 별명(alias)를 줄수 있다

Nation 컬럼의 별명을 na 라고 하고싶다면 / Naiton na  또는 Nation as na 라고 하면 된다

 ex) SELECT Nation na  FROM People

※별명을 줄때 영문과 언더바만 이용한다면 그냥 써도 상관없지만 특문,한글 등을 사용한다면 "안에 이름을" 넣어야 한다

 

  • WHERE : 원하는 데이터만 필터링 해주는 문법

SELECT ...

FROM ...

WHERE 필터링조건  의 틀로 사용한다

 

ex) SELECT *

      FROM People

      WHERE Gender = "남자"   

  Name Nation Age Gender ...
1 홍길동 한국 33 남자  
2 짱구 일본 5 남자  

 

이런식으로 Gender 값이 남자인 로우만 출력해준다

 

 

WHERE 와 함께 사용하기 좋은 필터링

  • 비요연산자 ( <, >, = ) 
  의미 예시
= 같다 Age=33
Gender='남자'
< 작다 Age<30
> 크다 Age>30
<> 다르다 Age<>33
Gender<>"남자"
<= 작거나 같다 Age<=30
>= 크거나 같다 Age>=30
  • BETWEEN  : ~ 와 ~ 사이 , BETWEEN A and B 로 사용한다

ex) WHERE Age BETWEEN 10 and 40

  • IN : ~를 포함 , IN (숫자, '문자') 로 사용한다

ex) WHERE Age IN (33) 

      또는

      WHERE Gender IN ('남자')

 

  • LIKE : 같지는 않지만 비슷한 값으로 조건주기 , LIKE % 로 사용한다
LIKE 
'문자%' '문자'로 시작하는 값
'%문자%' '문자'가 포함되는 값
'%문자' '문자'로 끝나는 값

ex) WHERE Name LIKE '%홍%'

 

 

@ SQL 사용중 에러메세지가 뜨더라도 당황하지 말고 에러문을 보고 침착하게 이유를 확인하고 수정하자 @