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 employees WHERE first_name IN ( 'Georgi', 'Parto' ) LIMIT 10;
+------------+-----------+
| first_name | last_name |
+------------+-----------+
| Georgi     | Facello   |
| Parto      | Bamford   |
| Parto      | Wrigley   |
| Georgi     | Atchley   |
| Georgi     | Itzfeldt  |
| Parto      | Hitomi    |
| Georgi     | Klassen   |
| Georgi     | Barinka   |
| Parto      | Heinisuo  |
| Parto      | Mandell   |
+------------+-----------+

NOT IN

예를 들어 first_name이 Georgi나 Parto가 아닌 직원의 목록을 추출하고 싶다면 다음과 같이 쿼리할 수 있습니다.

SELECT first_name, last_name FROM employees WHERE first_name != 'Georgi' AND first_name != 'Parto' LIMIT 10;

하지만, 대상이 되는 이름이 더 많아진다면 쿼리가 길어집니다. 그런 경우 NOT IN을 사용하면 쿼리를 단순하게 만들 수 있습니다.

SELECT first_name, last_name FROM employees WHERE first_name NOT IN ( 'Georgi', 'Parto' ) LIMIT 10;
+------------+-----------+
| first_name | last_name |
+------------+-----------+
| Bezalel    | Simmel    |
| Chirstian  | Koblick   |
| Kyoichi    | Maliniak  |
| Anneke     | Preusig   |
| Tzvetan    | Zielinski |
| Saniya     | Kalloufi  |
| Sumant     | Peac      |
| Duangkaew  | Piveteau  |
| Mary       | Sluis     |
| Patricio   | Bridgland |
+------------+-----------+

Related Posts

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

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

HeidiSQL로 MariaDB에 접속해보겠습니다. 만약 다른 기기에 있는 MariaDB라면 통신이 가능하도록 포트가 열려 있어야 합니다. MariaDB의 기본 포트는 3306입니다. HeidiSQL을 실행하면 세션 관리자가 열립니다. 를 클릭합니다. 다음과 같은 화면이 나오는데, 네트워크 유형이 MariaDB or MySQL인 것을 확인하고... 서버 정보를 입력합니다. 세션 이름은 적절히 정하고 합니다. 이제 세션 이름을 더블 클릭하거나, 를 클릭하여 접속할 수 있습니다. 아래는 MariaDB에 접속한 ...

MariaDB / 함수 / QUOTE / 문자열을 작은 따옴표로 감싸는 함수

MariaDB / 함수 / QUOTE / 문자열을 작은 따옴표로 감싸는 함수

QUOTE는 문자열을 작은 따옴표로 감싸는 함수입니다. QUOTE( string ) SELECT QUOTE( 'ABC' ); +----------------+ | QUOTE( 'ABC' ) | +----------------+ | 'ABC' | +----------------+ SELECT QUOTE( "ABC" ); +----------------+ | QUOTE( "ABC" ) | +----------------+ | 'ABC' | +----------------+ 문자열 안에 있는 작은 따옴표는 \'로 표시됩니다. SELECT ...

MariaDB / DBeaver / 외래 키(Foreign Key) 만들기, 삭제하기

MariaDB / DBeaver / 외래 키(Foreign Key) 만들기, 삭제하기

외래 키(Foreign Key) 만들기 기본 키가 있는 테이블(testTable1)을 만듭니다. 외래 키를 만들 테이블(testTable2)을 만듭니다. 를 클릭합니다. 마우스 우클릭한 후 를 클릭합니다. Column에서 외래 키를 선택하고, Ref Column에서 기본 키를 선택한 후 를 클릭합니다. 를 클릭합니다. 를 클릭하면... 외래 키가 만들어집니다. 외래 키(Foreign Key) 삭제하기 외래 키를 선택한 다음 마우스 우클릭하고 를 클릭합니다. 를 클릭하고... 를 클릭하면 외래 키가 ...

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 / 함수 / REPEAT / 문자열 반복하여 출력하는 함수

MariaDB / 함수 / REPEAT / 문자열 반복하여 출력하는 함수

개요 REPEAT는 문자열을 반복하여 출력하는 함수입니다. REPEAT( string, count ) string : 반복될 문자열 count : 반복 횟수 예제 123을 4번 반복하여 출력합니다. SELECT REPEAT( '123', 4 ); +---------------------+ | REPEAT( '123', 4 ) | +---------------------+ | 123123123123 | +---------------------+ 반복 횟수가 1 미만이면 빈 문자열을 출력합니다. SELECT REPEAT( '123', 0 ); +--------------------+ | REPEAT( '123', 0 ) ...

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

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

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

MariaDB / 함수 / LENGTH, BIT_LENGTH, CHAR_LENGTH / 문자열 길이 출력하는 함수

MariaDB / 함수 / LENGTH, BIT_LENGTH, CHAR_LENGTH / 문자열 길이 출력하는 함수

LENGTH LENGTH는 바이트(byte)로 계산된 문자열의 길이를 출력합니다. 영어. 숫자, 특수문자 등은 1로, 한글은 3으로 계산합니다. SELECT LENGTH( 'A1#가' ); +--------------------+ | LENGTH( 'A1#가' ) | +--------------------+ | 6 | +--------------------+ BIT_LENGTH BIT_LENGTH는 비트(bit)로 계산된 문자열의 길이를 출력합니다. 영어, 숫자, 특수문자 등은 ...

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 / 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 / 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 ...