SQLD 시험 전 꼭 공부해야 할 것 : 비교연산자
안녕하세요!
오늘은 SQLD 시험에서 빠지지 않고 나오는 비교연산자에 대해서 알아보려고 해요.
비교연산자는 크게 기호, BETWEEND AND 구문, LIKE, IS NULL, IN이 있어요.
그럼 하나씩 살펴볼까요.
SQL에서 비교 연산자는 두 값 또는 식을 비교하고 비교 결과에 따라 부울 값(TRUE 또는 FALSE)을 반환하는 데 사용됩니다. 비교 연산자에는 다음이 포함됩니다:
비교연산자 기호
"=" (동일): 양쪽의 값 또는 식이 같으면 true를 반환합니다.
"<>" 또는 "!="(동등하지 않음): 양쪽의 값 또는 식이 동일하지 않으면 true를 반환합니다.
">"(보다 큼): 왼쪽에 있는 값이나 식이 오른쪽에 있는 값이나 식보다 크면 true를 반환합니다.
">="(보다 크거나 같음): 왼쪽에 있는 값이나 식을 오른쪽에 있는 값이나 식보다 크거나 같으면 true를 반환합니다.
"<" (보다 작음): 왼쪽에 있는 값 또는 식을 오른쪽에 있는 값 또는 식보다 작으면 true를 반환합니다.
"<="(보다 작거나 같음): 왼쪽의 값 또는 식이 오른쪽의 값 또는 식보다 작거나 같으면 true를 반환합니다.
이러한 비교 연산자는 일반적으로 WHERE 절과 같은 SQL 문에서 특정 기준에 따라 데이터베이스에서 데이터를 필터링하고 검색하는 데 사용됩니다.
BETWEEN AND 구문
SQL에서 BETWEEN 연산자는 값 범위 내의 값을 선택하는 데 사용됩니다. 값 범위를 기준으로 레코드를 필터링하기 위해 SELECT, UPDATE 또는 DELETE 문의 WHERE 절에서 자주 사용됩니다.
회사의 판매 데이터가 들어 있는 "판매"라는 테이블이 있다고 가정해 보겠습니다. 표에는 각 판매 금액이 들어 있는 "sales_mount"라는 열이 있습니다. 우리는 sales_금액이 $1000에서 $5000 사이인 모든 sales 데이터를 검색하고 싶습니다.
BETWE 연산자를 사용하여 이 데이터를 검색하는 SQL 쿼리는 다음과 같습니다:
SELECT *
FROM sales
WHERE sales_amount BETWEEN 1000 AND 5000;
LIKE 구문
SQL의 LIKE 연산자는 문자열의 패턴 매칭에 사용됩니다. 표의 열에서 지정된 패턴을 검색하기 위해 SELECT 문의 WHERE 절에서 자주 사용됩니다.
여기서 패턴은 문자, 와일드카드 문자 및 이스케이프 문자의 임의 조합을 포함할 수 있습니다. LIKE에서 가장 일반적으로 사용되는 와일드카드 문자는 다음과 같습니다:
'%' (백분율 기호): 0개 이상의 문자를 의미합니다
'_'(밑줄): 1개의 문자를 의미합니다
예를 들어, "직원"이라는 테이블에 열 "이름"과 "위치"가 있다고 가정해 보겠습니다. 우리는 "관리자"라는 단어가 포함된 직위의 모든 직원을 불러오기를 원합니다. LIKE 연산자는 다음과 같이 사용할 수 있습니다:
SELECT *
FROM employees
WHERE position LIKE '%관리자%';
LIKE를 공부했으면 ESCAPE구문이 빠질 수 없죠!
SQL에서 'ESCAPE'는 LIKE 연산자와 함께 사용하여 이스케이프 문자를 지정하는 키워드입니다. 이스케이프 문자는 일반적으로 리터럴로 취급되는 특수 문자 또는 와일드카드를 이스케이프하는 데 사용되는 문자입니다.
예를 들어, "직원"이라는 테이블에 "이름"이라는 열이 있다고 가정해 보겠습니다. 이름에 "%manager%" 문자열이 포함된 모든 직원을 검색하지만 '%' 문자는 와일드카드가 아닌 리터럴 문자로 처리합니다. 'ESCAPE' 키워드를 사용하여 백슬래시() 문자를 이스케이프 문자로 사용하도록 지정할 수 있습니다:
SELECT *
FROM employees
WHERE name LIKE '%\%manager\%%' ESCAPE '\';
이 문은 "직원" 테이블에서 "이름" 열에 "%manager%" 문자열이 포함된 모든 레코드를 검색합니다. 여기서 '%' 문자는 와일드카드가 아닌 리터럴 문자로 처리됩니다.
'ESCAPE' 키워드는 선택 사항이며 'pattern' 문자열의 특수 문자 또는 와일드카드를 이스케이프하려는 경우에만 필요합니다. 문자를 이스케이프할 필요가 없다면 LIKE 연산자에서 'ESCAPE' 키워드를 생략할 수 있습니다.
IS NULL 구문
SQL에서 'IS NULL'은 열에 Null 값이 포함되어 있는지 확인하는 데 사용되는 비교 연산자입니다. null 값은 열의 결측값 또는 알 수 없는 값을 나타냅니다.
예를 들어, "orders"라는 테이블에 "orders_id" 열과 "customer_id" 열이 있다고 가정해 보겠습니다. 고객이 아직 주문을 하지 않은 경우 "주문" 표의 "customer_id" 열에 null 값이 포함됩니다. 'IS NULL' 연산자를 사용하여 이러한 모든 레코드를 검색할 수 있습니다:
SELECT *
FROM orders
WHERE customer_id IS NULL;
'IS NULL' 연산자는 다른 유형의 결측 데이터나 빈 값이 아닌(0과 다릅니다!) null 값을 확인하는 데만 사용할 수 있습니다. 결측값 또는 빈 값을 확인하기 위해 'IS NOT NULL', '!=' 또는 '<>'과 같은 다른 연산자를 대신 사용할 수 있습니다.
IN 구문
SQL에서는 'IN' 연산자는 값이 지정된 값 목록의 값과 일치하는지 확인하는 데 사용됩니다. SELECT 문의 WHERE 절에서 특정 열 값이 값 목록에 있는지 여부를 기준으로 레코드를 필터링하는 데 사용할 수 있습니다.
예를 들어, "customers"라는 테이블에 열 "customers_id", "first_name" 및 "last_name"이 있다고 가정해 보겠습니다. customer_id가 1, 3 또는 5인 모든 레코드를 검색하려고 합니다. '를 사용할 수 있습니다IN' 연산자는 다음과 같습니다
SELECT *
FROM customers
WHERE customer_id IN (1, 3, 5);
이 문은 "customers" 테이블에서 "customers_id" 열에 1, 3 또는 5 값이 포함된 모든 레코드를 검색합니다.
'데이터 분석 > SQLD' 카테고리의 다른 글
SQLD 시험 전 공부해야 할 것3 : NVL, NULLIF, COALESCE (0) | 2023.04.29 |
---|---|
SQLD 시험 전 공부해야 할 것2 : DROP, TRUNCATE, DELETE 차이점 (0) | 2023.04.29 |
오라클 SQL 설치하기 따라하면 어렵지 않아요 (0) | 2023.04.23 |
비전공자 SQLD 시험 합격 후기 이거 모르면 안되겠네 (0) | 2023.04.23 |
SQLD 시험후기 및 사전점수 확인하는 법 역시는 역시였다 (0) | 2023.04.11 |