Dev JS Blog

[SQL] 기본 WHERE 절 본문

옛날 창고/SQL

[SQL] 기본 WHERE 절

Dev JS 2021. 1. 1. 23:43
728x90

 

SQL Query의 기본인 Where절에 대해서 정리해보려한다.

 

WHERE 에는 기본적으로 조건을 추가할때는 and, or 을 사용 할 수 있다.

where 처음 조건

and 두번째 조건

and 세번째 조건

AND 는 교집합, OR 는 합집합 이므로 OR 은 괄호를 잘해주어야한다.(이건 하다보면 느끼게된다..)

 

그럼 기본적인 조건 쿼리에 대해서 알려주겠다.

penthouse 테이블이 있다.

여기서 주단태 만 보고싶다면..?

그럼 반대로 주단태만 안보고 싶다면?

그럼 주단태와 천서진을 보고싶다면?

이렇게..?

결과가 안나온다.

왜냐하면 AND 는 교집합 즉 name 이 주단태 이고 천서진 인 사람을 뽑았기 때문이다.

그럼 OR 를 이용해서 해야겠군..?

하면 원하던 주단태와 천서진이 나온다.

하지만 여기서 같은 컬럼에 대해서 여러명이 나오도록 검색하고싶다면

OR 가 아닌 IN 을 사용해준다.

이렇게 해준다면

결과는 똑같다.

하지만 같은 컬럼에서 여러 데이터를 원할경우엔 IN 절을 사용하길 바란다.

물론 반대인 NOT IN 도 있다.

 

그리고 null 값을 조회하고 싶을때에는 

name = null 이 아닌

name is null 로 조회하여한다.

그리고 마지막으로 LIKE 절이 있다.

LIKE 절은 name 과 같은 데이터에서

이름에 '주'가 들어가는 사람을 찾는다거나 할 때 이용한다.

 

concat('주','%') 를 한것은

'주'를 포함한 뒤에는 문자열 인것을 검색하는 것이고

concat('%','주') 를 하게되면

문자열+'주' 인것을 검색하는 것이기때문에

주단태는 검색되지 않는다.

'%','주','%' 이렇게 해준다면 주를 포함한 모든 단어가 되는것이다.

이말이 헷갈릴수가 있다 나도 설명을 어케해야할지 좀 그렇긴한데

이건 헷갈린다면 직접 쿼리를 돌려봐서 확인을 해보면

감이 올것이다.

728x90

'옛날 창고 > SQL' 카테고리의 다른 글

[Mysql] date_add 사용법  (0) 2021.01.04
[Mysql] 날짜 포맷 date_format  (0) 2021.01.04
[MySql] 임시 테이블 1부터 10까지  (2) 2021.01.01
ROW NUMBER 사용하여 로우 넘버 부여하기  (0) 2020.12.30
[MySQL] MySQL data convert  (0) 2020.12.30
Comments