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 / TABLE / 열 추가하기, 열 삭제하기, 열 순서 변경하기, 열 데이터 타입 변경하기

MariaDB / TABLE / 열 추가하기, 열 삭제하기, 열 순서 변경하기, 열 데이터 타입 변경하기

데이터베이스 만들기 열(Column) 추가, 삭제 등을 해볼 테스트용 데이터베이스 jbTest를 만듭니다. CREATE DATABASE jbTest; 데이터베이스로 들어갑니다. USE jbTest; jbColumn1, jbColumn2, jbColumn3 세 개의 열을 가진 테이블 jbTable1을 만듭니다. CREATE TABLE jbTable1 ( jbColumn1 INT, jbColumn2 INT, jbColumn3 INT ) ; 다음은 현재 테이블 구조입니다. MariaDB > DESC jbTable1; +-----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | ...

MariaDB / LEFT JOIN, RIGHT JOIN, INNER JOIN

MariaDB / LEFT JOIN, RIGHT JOIN, INNER JOIN

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

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

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

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

MariaDB / 함수 / YEAR, MONTH, DAY / 날짜 데이터에서 년, 월, 일을 반환하는 함수

MariaDB / 함수 / YEAR, MONTH, DAY / 날짜 데이터에서 년, 월, 일을 반환하는 함수

날짜 형식의 데이터에서 년 또는 월 또는 일을 분리해서 출력하고 싶다면 YEAR, MONTH, DATE 함수를 사용합니다. YEAR 날짜 데이터에서 년을 출력하고 싶다면 YEAR 함수를 사용합니다. MariaDB > SELECT YEAR('2020-11-12') as Year; +------+ | Year | +------+ | 2020 | +------+ MONTH 날짜 데이터에서 월을 출력하고 싶다면 MONTH 함수를 사용합니다. MariaDB > SELECT MONTH('2020-11-12') as Month; +-------+ | Month | +-------+ | 11 ...

MariaDB / GROUP BY

MariaDB / GROUP BY

예제로 사용한 데이터베이스는 employees입니다. GROUP BY – 사원별 급여 합계 사번과 급여를 출력하면, 다음처럼 모든 행이 출력됩니다. MariaDB > SELECT emp_no, salary -> FROM salaries -> LIMIT 10 -> ; +--------+--------+ | emp_no | salary | +--------+--------+ | 10001 | 60117 | | 10001 | 62102 ...

MariaDB / 사용자 만들기, 사용자 삭제하기, 권한 부여하기, 권한 제거하기

MariaDB / 사용자 만들기, 사용자 삭제하기, 권한 부여하기, 권한 제거하기

사용자 만들기 사용자 이름 jb, 내부에서만 접속 가능, 비밀번호 1234 MariaDB > create user 'jb'@'localhost' identified by '1234'; Query OK, 0 rows affected (0.00 sec) 사용자 이름 jb, 어디에서나 접속 가능, 비밀번호 1234 MariaDB > create user 'jb'@'%' identified by '1234'; Query OK, 0 rows affected (0.00 sec) 사용자 목록 보기 mysql 데이터베이스 사용 MariaDB > use mysql; Host, User ...

MariaDB / DATA / CSV 파일 데이터 가져오는 방법

MariaDB / DATA / CSV 파일 데이터 가져오는 방법

LOAD DATA INFILE MariaDB의 LOAD DATA INFILE로 텍스트 파일의 데이터를 가져올 수 있습니다. 문법은 다음과 같습니다. LOAD DATA INFILE 'file_name' INTO TABLE tbl_name [{FIELDS | COLUMNS} ...

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) 데이터베이스 ...

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 / 사용자 비밀번호 변경하는 방법

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

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