글 개요
이번 포스팅은 AND OR NOT 연산자를 사용하여 원하는 데이터를 가져오는 방법을 알아보겠습니ㅏㄷ.
글 본문
AND문법
AND는 조건을 모두 만족하는 경우 TRUE 데이터만 가져옵니다.
SELECT COLUMN1, COLUMN2, COLUMN3
FROM TABLE NAME
WHERE COLUMN1 AND COLUMN2
SELECT *
FROM CELAB
WHERE AGE >=29 AND SEX = 'F';
나이가 29이상이면서 성별이 여자인 데이터만 검색한 경우 아이유님이 나오는걸 볼 수 있습니다.
SELECT *
FROM CELAB
WHERE SEX = 'M' AND AGE > 40
ORDER BY NAME;
성별이 남자이고 나이가 40세 보다 큰 데이터를 정렬하여 검색하는 방법입니다.
OR 연산자
하나의 조건이여도 만족하는 경우 데이터를 보여줍니다.
SELECT COLUMN1, COLUMN2
FROM TABLE NAME
WHERE COLUMN1 OR COLUMN2
SELECT *
FROM CELAB
WHERE AGE <25 OR AGE >30
나이가 25세보다 작거나 30세보다 큰 데이터를 검색하면 위 데이터를 얻을 수 있습니다.
AND, OR절이 섞여 있을 때 AND절이 OR절보다 더 높아 먼저 연산이 됩니다. 그래서 먼저 연산이 되는 곳에 괄호를 해주면 가독성이 좋고 에러가 발생되지 않습니다.
나이가 29세 보다 작고 여자이거나, 나이가 30세보다 크고 남자인 데이터를 나이와 성별 순으로 검색
SELECT *
FROM CELAB
WHERE (AGE <29 AND SEX = 'F') OR (AGE >30 AND SEX = 'M')
ORDER BY AGE, SEX;
NOT 문법
조건을 만족하지 않을 경우 데이터 검색
SELECT *
FROM TABLE NAME
WHERE NOT COLUMN1
SELECT *
FROM CELAB
WHERE NOT SEX = 'F';
성별이 여자가 아닌 데이터를 검색 즉 남자인 데이터를 검색할 수 있습니다.
SELECT *
FROM CELAB
WHERE (BRITHDAY>19891231 AND NOT SEX = 'F') OR(BRITHDAY <19800101 AND NOT AGENCY = '안테나');
생일이 1990년 이후이면서 여자가 아니거나, 생일이 1979년 이전이면서 소속사가 안테나가 아닌 데이터 검색하면 위 결과를 받아볼 수 있습니다.
'SQL' 카테고리의 다른 글
MYSQL- IN연산자 (0) | 2021.11.09 |
---|---|
MYSQL- BETWEEN 연산자 사용하기 (0) | 2021.11.09 |
MYSQL- Comparison Operators 비교연산자 사용 (0) | 2021.11.09 |
MYSQL- ORDER BY 사용해서 데이터 정렬하기 (0) | 2021.11.09 |
MYSQL- UPDATE and DELETE 문법 (0) | 2021.11.09 |
댓글