일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Admob
- YAML
- spring
- 앱
- 자바스크립트
- 배포
- Native
- sdk
- 스프링
- expo
- EAS
- sqlite
- 로또
- DB
- thymeleaf
- sts
- sql
- 시놀로지
- string
- Java
- 이클립스
- 안드로이드
- mysql
- Navigation
- 폰트
- Android
- 시큐리티
- react
- springboot
- yml
- Today
- Total
Dev JS Blog
[SQL] 기본 WHERE 절 본문
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('%','주') 를 하게되면
문자열+'주' 인것을 검색하는 것이기때문에
주단태는 검색되지 않는다.
'%','주','%' 이렇게 해준다면 주를 포함한 모든 단어가 되는것이다.
이말이 헷갈릴수가 있다 나도 설명을 어케해야할지 좀 그렇긴한데
이건 헷갈린다면 직접 쿼리를 돌려봐서 확인을 해보면
감이 올것이다.
'옛날 창고 > 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 |