MariaDB / 연산자 / AND, OR, IN
예제로 사용한 데이터베이스는 employees입니다.
AND
여러 조건을 동시에 만족시키는 데이터를 추출할 때 AND 연산자를 사용합니다.
- employees 테이블에서 first_name이 George이고, gender가 M인 데이터를 가져옵니다.
MariaDB [employees]> SELECT first_name, gender -> FROM employees -> WHERE -> first_name = "George" -> AND -> gender = "M" -> LIMIT 5 -> ; +------------+--------+ | first_name | gender | +------------+--------+ | George | M | | George | M | | George | M | | George | M | | George | M | +------------+--------+
OR
여러 조건 중 적어도 하나를 만족시키는 데이터를 추출할 때 OR 연산자를 사용합니다.
- salaries 테이블에서 salary가 38800 미만 또는 156000 초과인 데이터를 가져옵니다.
MariaDB [employees]> SELECT salary -> FROM salaries -> WHERE -> salary < 38800 -> OR -> salary > 156000 -> ORDER BY salary -> ; +--------+ | salary | +--------+ | 38623 | | 38735 | | 38786 | | 156286 | | 157821 | | 158220 | +--------+
IN
여러 값 중에 하나를 만족하는 것을 출력하는 방법은 OR 연산자를 사용하는 것입니다. 예를 들어 first_name이 Georgi 또는 Parto인 사원을 골라내고 싶다면 다음처럼 구문을 만듭니다.
SELECT emp_no, first_name, last_name FROM employees WHERE first_name = "Georgi" OR first_name = "Parto"
위의 예는 조건이 Georgi, Parto 두 개여서 짧지만, 만약 수십 개의 조건 중에 하나를 만족하는 구문을 만든다면 아주 길어집니다. 그럴 때 유용한 연산자가 IN입니다.
MariaDB [employees]> SELECT emp_no, first_name, last_name -> FROM employees -> WHERE first_name IN ( "Georgi", "Parto" ) -> ORDER BY first_name -> ; +--------+------------+-----------------+ | emp_no | first_name | last_name | +--------+------------+-----------------+ | 249969 | Georgi | Luiz | | 235773 | Georgi | Schonegge | | 436727 | Georgi | Delgrossi | ... | 228180 | Parto | Castellani | | 212333 | Parto | Keirsey | +--------+------------+-----------------+
조건이 많아져도 쉽게 확장할 수 있습니다.
SELECT emp_no, first_name, last_name FROM employees WHERE first_name IN ( "Georgi", "Parto", "Mary", "Berni" )