(1) Logical Operators (논리 연산자)
(2) Logical Operators (논리 연산자 문법
#Logical Operators (논리 연산자)
+---------+---------------------------------------+
| 연산자 | 의미 |
+---------+---------------------------------------+
| AND | 조건을 모두 만족하는 경우 TRUE |
| OR | 하나의 조건이라도 만족하는 경우 TRUE |
| NOT | 조건을 만족하지 않는 경우 TRUE |
| BETWEEN | 조건값이 범위 사이에 있으면 TRUE |
| IN | 조건값이 목록에 있으면 TRUE |
| LIKE | 조건값이 패턴에 맞으면 TRUE |
+---------+---------------------------------------+
- Logical Operators 는 논리 연산자라고도 하며 논리 연산자는 SQL에서 조건을 결합하고 복잡한 검색 조건을 만드는 데 사용된다. 주로 WHERE 절과 조건을 결합하는 데 사용되며 자주 사용되는 논리 연산자는 다음과 같다:
AND: AND 연산자는 두 개의 조건이 모두 참일 때만 전체 조건이 참이 된다. 즉, 모든 조건이 TRUE 여야 전체 조건이 TRUE가 되어 TRUE를 반환하여 TRUE에 해당하는 행들을 출력해준다.
OR: OR 연산자는 두 개의 조건 중 하나 이상이 참일 때 전체 조건이 참이 된다. 즉, 조건 중 하나라도 TRUE 이면 전체 조건이 TRUE가 되어 TRUE를 반환하여 TRUE에 해당하는 행들을 출력해준다.
NOT: NOT 연산자는 주어진 조건이 거짓일 때 TRUE가 되어 TRUE를 반환하여 TRUE에 해당하는 행들을 출력해준다. 주로 주어진 조건을 부정하는 데 사용된다.#실습데이터
+----+--------+------------+-----+-----+---------------+-------------------+
| ID | NAME | BIRTHDAY | AGE | SEX | JOB_TITLE | AGENCY |
+----+--------+------------+-----+-----+---------------+-------------------+
| 1 | 아이유 | 1993-05-16 | 29 | F | 가수, 탤런트 | EDAM엔터테인먼트 |
| 2 | 이미주 | 1994-09-23 | 28 | F | 가수 | 울림엔터테인먼트 |
| 3 | 송강 | 1994-04-23 | 28 | M | 탤런트 | 나무엑터스 |
| 4 | 강동원 | 1981-01-18 | 41 | M | 영화배우, 탤런트| YG엔터테인먼트 |
| 5 | 유재석 | 1972-08-14 | 50 | M | MC, 개그맨 | 안테나 |
| 6 | 차승원 | 1970-06-07 | 48 | M | 영화배우, 모델 | YG엔터테인먼트 |
| 7 | 이수현 | 1999-05-04 | 23 | F | 가수 | YG엔터테인먼트 |
+----+--------+------------+-----+-----+---------------+-------------------+
🖍️ AND 연산자 (조건을 모두 만족하는 경우 TRUE )
#AND 연산자 (조건을 모두 만족하는 경우 TRUE )
SELECT columnl, column2
FROM tablename
WHERE conditionl AND condition2 AND condition3
#예시, celeb 테이블에서 나이가 29세이고 성별이 여성인 데이터 검색
mysql> SELECT * FROM celeb WHERE age=29 AND sex='F';
+----+--------+------------+-----+-----+---------------+---------------------+
| ID | NAME | BIRTHDAY | AGE | SEX | JOB_TITLE | AGENCY |
+----+--------+------------+-----+-----+---------------+---------------------+
| 1 | 아이유 | 1993-05-16 | 29 | F | 가수, 탤런트 | EDAM엔터테이먼트 |
+----+--------+------------+-----+-----+---------------+---------------------+
1 row in set (0.00 sec)
SELECT column1, column2: column1, column2 에 해당하는 열을 조회하려고 지정하는 것이다.
WHERE condition1 AND condition2 AND condition3: column1, column2 열을 조회할 때 데이터를 필터링하는 조건을 지정하는 것이다. WHERE 절에 "AND" 연산자를 사용해
condition1 AND condition2 와 같이 여러 조건을 결합하여 실행한다. "AND" 연산자의 쿠쿼리에서는 모든 조건이 TRUE 여야만 해당 행이 결과로 반환이 된다.
🖍️ OR 연산자 (하나의 조건이라도 만족하는 경우 TRUE )
#OR 연산자 (하나의 조건이라도 만족하는 경우 TRUE)
SELECT columnl, column2
FROM tablename
WHERE conditionl OR condition2 OR condition3
#예시, celeb 테이블에서 나이가 25세보다 작거나 30세보다 큰 데이터 검색
mysql> SELECT * FROM celeb WHERE age=29 OR sex='F';
+----+--------+------------+-----+-----+-------------------+-------------------+
| ID | NAME | BIRTHDAY | AGE | SEX | JOB_TITLE | AGENCY |
+----+--------+------------+-----+-----+-------------------+-------------------+
| 7 | 이수현 | 1999-05-04 | 23 | F | 가수 | YG엔터테인먼트 |
| 4 | 강동원 | 1981-01-18 | 41 | M | 영화배우, 탤런트 | YG엔터테인먼트 |
| 6 | 차승원 | 1970-06-07 | 48 | M | 영화배우, 모델 | YG엔터테인먼트 |
| 5 | 유재석 | 1972-08-14 | 50 | M | MC, 개그맨 | 안테나 |
+----+--------+------------+-----+-----+-------------------+-------------------+
4 rows in set (0.00 sec)
SELECT column1, column2: column1, column2 에 해당하는 열을 조회하려고 지정하는 것이다.
WHERE condition1 OR condition2 OR condition3: column1, column2 열을 조회할 때 데이터를 필터링하는 조건을 지정하는 것이다. WHERE 절에 "OR" 연산자를 사용해
condition1 OR condition2 와 같이 여러 조건을 결합하여 실행한다. "AND" 연산자의 쿠쿼리에서는 두 개의 조건 중 하나 이상이 참일 때 즉, 두 조건 중 하나라도 TRUE 이면 전체 조건이 TRUE 가 되어 출력된다.
🖍️ NOT 연산자 (조건을 만족하지 않는 경우 TRUE )
#OR 연산자 (하나의 조건이라도 만족하는 경우 TRUE)
SELECT columnl, column2
FROM tablename
WHERE NOT condition;
#예시, celeb 테이블에서 성별이 여자가 아닌 데이터 검색
mysql> SELECT * FROM celeb WHERE NOT sex='F';
+----+--------+------------+-----+-----+-------------------+-------------------+
| ID | NAME | BIRTHDAY | AGE | SEX | JOB_TITLE | AGENCY |
+----+--------+------------+-----+-----+-------------------+-------------------+
| 3 | 송강 | 1994-04-23 | 28 | M | 텔런트 | 나무엑터스 |
| 4 | 강동원 | 1981-01-18 | 41 | M | 영화배우, 텔런트 | YG엔터테인먼트 |
| 5 | 유재석 | 1972-08-14 | 50 | M | MC, 개그맨 | 안테나 |
| 6 | 차승원 | 1970-06-07 | 48 | M | 영화배우, 모델 | YG엔터테인먼트 |
+----+--------+------------+-----+-----+-------------------+-------------------+
4 rows in set (0.00 sec)
SELECT column1, column2: column1, column2 에 해당하는 열을 조회하려고 지정하는 것이다.
WHERE NOT condition;: column1, column2 열을 조회할 때 데이터를 필터링하는 조건을 지정하는 것이다. WHERE 절에 "NOT" 연산자를 사용해 주어진 조건이 FALSE인 경우에 조건을 반대로 실행하는 "NOT" 연산자로 인해 TRUE를 반환한다. 즉, 주어진 조건을 부정하는 데 사용되며 이 쿼리에서는 주어진 조건을 만족하지 않는 행(row)만을 선택하여 출력하게 된다.