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" )

Related Posts

MariaDB / HeidiSQL / TIP

MariaDB / HeidiSQL / TIP

주석 설정하기 해제하기 주석으로 만들려는 코드를 선택합니다. 마우스 우클릭 후 를 클릭하면... 각 행에 --가 붙으면서 주석 처리가 됩니다. 주석을 선택한 상태에서 를 클릭하면 주석이 해제됩니다. 예약어 대문자로 만들기 예약어는 대소문자를 구분하지 않지만, 보통 대문자로 입력합니다. 대문자와 소문자를 번갈아 입력하는 것은 번거롭습니다. 다행이 HeidiSQL에는 예약어를 대문자로 바꿔주는 기능이 있습니다. 쿼리 창에서 마우스 우클릭하고 을 ...

MariaDB / 함수 / SUBSTRING, SUBSTRING_INDEX / 문자열 추출하는 함수

MariaDB / 함수 / SUBSTRING, SUBSTRING_INDEX / 문자열 추출하는 함수

SUBSTRING 12345678의 5번째부터 끝까지 문자열을 추출합니다. SELECT SUBSTRING( '12345678', 5 ); +----------------------------+ | SUBSTRING( '12345678', 5 ) | +----------------------------+ | 5678 | +----------------------------+ SELECT SUBSTRING( '12345678' FROM 5 ); +--------------------------------+ | SUBSTRING( '12345678' FROM 5 ) | +--------------------------------+ | 5678 ...

MariaDB / 샘플 데이터베이스 employees 설치하기

MariaDB / 샘플 데이터베이스 employees 설치하기

데이터베이스를 다루는 공부를 할 때 데이터가 들어있는 데이터베이스가 있으면 좋습니다. 직접 만드는 방법도 있지만, 공개된 샘플 데이터베이스를 이용해도 됩니다. 제가 주로 사용하는 것은 test_db입니다. 앞으로의 강좌에서 데이터가 필요한 경우 test_db를 사용할 것입니다. 다음은 MariaDB에 설치하는 방법입니다. GitHub에 있는 test_db 페이지에 접속합니다. Clone or download를 클릭한 다음 다운로드합니다. 서버에 업로드한 다음 압축을 풉니다. employees.sql가 있는 폴더에서 ...

MariaDB / Query / 주석

MariaDB / Query / 주석

MariaDB의 쿼리문에서 주석을 만드는 방법은 세 가지가 있습니다. 한 줄 주석 한 줄 주석을 만들고 싶다면 # 또는 --를 사용합니다. 기호가 있는 다음부터 줄 끝까지가 주석이 됩니다. # Comment -- Comment 여러 줄 주석 여러 줄의 주석을 만들고 싶다면 /* */를 사용합니다. /* Comment Comment */

MariaDB / Query / IN, NOT IN

MariaDB / Query / IN, NOT IN

예제로 사용한 데이터베이스는 employees입니다. IN 예를 들어 first_name이 Georgi 또는 Parto인 직원의 목록을 추출하고 싶다면 다음과 같이 쿼리할 수 있습니다. SELECT first_name, last_name FROM employees WHERE first_name = 'Georgi' OR first_name = 'Parto' LIMIT 10; 하지만, 골라내야 하는 first_name이 더 많아진다면 쿼리가 길어집니다. 그런 경우 IN을 사용하면 쿼리를 단순하게 만들 수 있습니다. SELECT first_name, last_name FROM ...

MariaDB / 함수 / REPLACE / 문자열 찾아서 바꾸는 함수

MariaDB / 함수 / REPLACE / 문자열 찾아서 바꾸는 함수

REPLACE는 특정 문자열을 찾아 다른 문자열로 바꾸는 함수입니다. REPLACE( string, from_string, to_string ) string : 찾아서 바꾸는 대상이 되는 문자열 from_string : 찾을 문자열 to_string : 교체될 문자열 아래는 ababab에서 b를 찾아 c로 바꾸는 예제입니다. SELECT REPLACE( 'ababab', 'b', 'c' ); +-------------------------------+ | REPLACE( 'ababab', 'b', 'c' ) | +-------------------------------+ | acacac ...

MariaDB / 사용자 비밀번호 변경하는 방법

MariaDB / 사용자 비밀번호 변경하는 방법

mysql 사용 use mysql 사용자와 비밀번호 출력하기 select user, password from user; abc 사용자의 비밀번호를 1234로 설정 update user set password=password('1234') where user='abc'; 변경사항 적용 flush privileges;

MariaDB / DBeaver / 기본 키(PRIMARY KEY) 만들기, 삭제하기

MariaDB / DBeaver / 기본 키(PRIMARY KEY) 만들기, 삭제하기

기본 키 만들기 기본 키를 만들 테이블을 더블 클릭합니다. Properties 탭에서 를 클릭합니다. 마우스 우클릭하여 를 클릭하거나, 아래쪽에 있는 아이콘을 클릭합니다. 기본 키로 만들 열을 선택하고 를 클릭합니다. 를 클릭하고... 를 클릭하면... 기본 키 설정이 완료됩니다. 기본 키 삭제하기 기본 키를 선택하고 마우스 우클릭한 후 를 클릭하거나, 아래쪽에 있는 휴지통 아이콘을 클릭하고... 를 클릭한 후... 를 클릭하면 기본 키가 ...

MariaDB / 함수 / IF, IFNULL, NULLIF

MariaDB / 함수 / IF, IFNULL, NULLIF

IF 문법 IF( expression1, expression2, expression3 ) expression1가 참이면 expression2를, 거짓이면 expression3을 반환합니다. 예제 SELECT IF( 2>3, 'T', 'F' ); +---------------------+ | IF( 2>3, 'T', 'F' ) | +---------------------+ | F | +---------------------+ 2>3이 거짓이므로 F를 반환합니다. SELECT IF( 2<3, 'T', 'F' ); +---------------------+ | IF( ...

MariaDB / DATABASE / 만들기, 삭제하기, 이름 변경하기

MariaDB / DATABASE / 만들기, 삭제하기, 이름 변경하기

로그인 MariaDB에 로그인합니다. root 계정으로 로그인 한다면 mysql -u root -p 데이터베이스 목록을 조회합니다. MariaDB > SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | +--------------------+ 3 rows in set (0.00 sec) 데이터베이스 ...