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 / DBeaver / MariaDB에 연결하는 방법

MariaDB / DBeaver / MariaDB에 연결하는 방법

MariaDB를 명령어로만 관리하는 것은 힘듭니다. 적절한 툴을 이용하면 작업 속도를 높일 수 있습니다. MariaDB를 관리하는 툴을 여러 가지가 있는데, 그 중 하나가 DBeaver입니다. Free multi-platform database tool for developers, database administrators, analysts and all people who need to work with databases. Supports all popular databases: MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL ...

MariaDB / TABLE / AUTO_INCREMENT / 자동으로 증가하는 값 만들기

MariaDB / TABLE / AUTO_INCREMENT / 자동으로 증가하는 값 만들기

테이블에는 데이터를 특정할 수 있는 고유값이 있는 게 좋습니다. 고유값을 수동으로 넣을 수는 없으므로, 값을 자동으로 증가시키는 AUTO_INCREMENT를 사용합니다. AUTO_INCREMENT로 고유값이 어떻게 만들어지는지 알아보겠습니다. 사용하는 테이블 이름은 test입니다. 자동으로 증가하는 열 만들기 열 이름은 id, 데이터 타입은 정수(INT)로 만듭니다. 데이터 타입 뒤에 AUTO_INCREMENT PRIMARY KEY를 붙입니다. MariaDB > CREATE TABLE test ( id INT AUTO_INCREMENT ...

MariaDB / 함수 / FORMAT / 숫자 세 자리마다 쉼표(콤마) 찍는 함수

MariaDB / 함수 / FORMAT / 숫자 세 자리마다 쉼표(콤마) 찍는 함수

FORMAT FORMAT은 숫자 세 자리마다 쉼표(콤마) 찍는 함수입니다. 예제 123456789에서 세 자리마다 쉼표를 넣습니다. MariaDB > SELECT FORMAT(123456789, 0) as Money; +-------------+ | Money | +-------------+ | 123,456,789 | +-------------+ 값이 숫자 형식이 아니어도 가능합니다. MariaDB > SELECT FORMAT('123456789', 0) as Money; +-------------+ | Money | +-------------+ | 123,456,789 | +-------------+ 0이 뜻하는 것은 소숫점 ...

MariaDB / 함수 / CONCAT, CONCAT_WS / 문자열 합치는 함수

MariaDB / 함수 / CONCAT, CONCAT_WS / 문자열 합치는 함수

예제로 사용한 데이터베이스는 employees입니다. CONCAT CONCAT은 문자열을 이어주는 함수입니다. 예를 들어 CONCAT( first_name, last_name )는 first_name의 값과 last_name의 값을 이어서 출력합니다. MariaDB > SELECT first_name, last_name, CONCAT( first_name, last_name ) FROM employees LIMIT 5; +------------+-----------+---------------------------------+ | first_name | last_name | CONCAT( first_name, last_name ) | +------------+-----------+---------------------------------+ | Georgi | Facello | GeorgiFacello ...

MariaDB / Query / LEFT JOIN, RIGHT JOIN, INNER JOIN

MariaDB / Query / LEFT JOIN, RIGHT JOIN, INNER JOIN

JOIN SQL의 JOIN은 여러 테이블을 한 번에 나타낼 때 사용합니다. 대표적인 JOIN 방식은 LEFT JOIN, RIGHT JOIN, INNER JOIN이 있습니다. 다음은 세 가지 JOIN의 차이를 알아보기 위한 간단한 예제 테이블입니다. A 테이블에는 나라, B 테이블에는 도시가 있습니다. 도시가 어떤 나라의 도시인지는 a_no로 확인합니다. 나라는 있는데 도시가 없는 것도 있고, 나라는 없는데 도시는 있는 것도 있습니다. A ...

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 / Query / UNION, UNION ALL

MariaDB / Query / UNION, UNION ALL

UNION 또는 UNION ALL을 이용하면 여러 테이블의 데이터를 합하여 출력할 수 있습니다. 예를 들어 다음과 같은 테이블과... SELECT * FROM test_1; +-------+-------+-------+ | col_1 | col_2 | col_3 | +-------+-------+-------+ | 1 | A | 1 | | 2 | ...

MariaDB / DBeaver / 테이블 만들기, 삭제하기

MariaDB / DBeaver / 테이블 만들기, 삭제하기

테이블 만들기 데이터베이스를 선택하고 마우스 우클릭합니다. 을 클릭하면... 다음과 같은 화면이 나옵니다. 테이블 이름을 정하고... 마우스 우클릭 후 을 클릭하거나, 아래에 있는 아이콘을 클릭하여... 열을 만듭니다. 를 클릭하고... 를 클릭하면... 테이블이 만들어집니다. 테이블 삭제하기 테이블을 선택하고 마우스 우클릭 후 를 클릭합니다. 를 클릭하면 테이블이 삭제됩니다.

MariaDB / Query / 주석

MariaDB / Query / 주석

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