SQL - 연산자
안녕하세요, 미래의 데이터 마법사 여러분! 오늘 우리는 SQL 연산자의 마법의 세계로 접어들게 됩니다. 코드를 한 줄도 작성해본 적이 없으신 분들도 걱정하지 마세요 - 우리는 매우 기초적인 부분부터 시작하여 차근차근 올라갈 것입니다. 이 튜토리얼의 끝을 맞이하면, 여러분은 최고의 데이터를 소환할 수 있게 될 것입니다!
SQL 연산자란?
기본적인 것부터 시작해보겠습니다. SQL 연산자는 데이터베이스 도구 상자에 있는 특별한 도구입니다. 비교 작업을 수행하든, 수학 계산을 하든, 정보를 결합하든, 데이터에 작업을 수행하는 데 도와줍니다. 연산자를 SQL 문장의 동사로 생각해보세요 - 그들은 일을 일어나게 합니다!
예를 들어, "나이가 30세 이상인 모든 고객을 원한다"고 할 때, "30세 이상"이라는 부분이 연산자입니다. 이는 데이터베이스가 데이터를 어떻게 필터링해야 하는지 알려줍니다.
SQL에서의 연산자 종류
이제 SQL에서 다양한 종류의 연산자를 탐구해보겠습니다. 이들을 분류하고 각각의 예제를 제공하겠습니다. 타이어를 조이고, 연산자 놀이 공원에 탑승해보세요!
1. 산술 연산자
이 연산자들은 데이터에 수학 계산을 수행하는 데 도와줍니다. 다음은 산술 연산자의 표입니다:
연산자 | 설명 | 예제 |
---|---|---|
+ | 덧셈 | 5 + 3 = 8 |
- | 뺄셈 | 7 - 2 = 5 |
* | 곱셈 | 4 * 6 = 24 |
/ | 나눗셈 | 15 / 3 = 5 |
% | 나머지 | 17 % 5 = 2 |
이제 이들을 실제로 사용해보겠습니다:
SELECT product_name, price, price * 1.1 AS price_with_tax
FROM products;
이 예제에서 우리는 원래 가격에 10% 세금을 포함한 새로운 가격을 계산하고 있습니다. *
연산자는 원래 가격을 1.1로 곱합니다.
2. 비교 연산자
이 연산자들은 값을 비교하는 데 유용합니다. 데이터를 필터링하는 데 매우 유용합니다. 다음은 비교 연산자의 표입니다:
연산자 | 설명 | 예제 |
---|---|---|
= | 같다 | age = 30 |
<> | 다르다 | status <> 'Completed' |
> | 크다 | price > 100 |
< | 작다 | quantity < 5 |
>= | 크거나 같다 | rating >= 4 |
<= | 작거나 같다 | discount <= 0.2 |
이를 쿼리에서 사용해보겠습니다:
SELECT customer_name, age
FROM customers
WHERE age > 30 AND status = 'Active';
이 쿼리는 30세 이상의 활성 고객을 찾습니다. >
연산자는 30세 이상의 나이를 확인하고, =
연산자는 상태가 정확히 'Active'인지 확인합니다.
3. 논리 연산자
논리 연산자는 여러 조건을 결합하는 데 도와줍니다. 복잡한 쿼리를 이어주는 접착제와 같습니다. 다음은 논리 연산자의 표입니다:
연산자 | 설명 |
---|---|
AND | 두 조건 모두 참이면 참 |
OR | 두 조건 중 하나라도 참이면 참 |
NOT | 조건의 결과를 반전 |
이를 어떻게 사용할 수 있는지 보겠습니다:
SELECT product_name, price, category
FROM products
WHERE (category = 'Electronics' OR category = 'Computers')
AND price < 1000
AND NOT discontinued;
이 쿼리는 전자 제품이나 컴퓨터 카테고리에 속하며, 가격이 $1000 이하이고 중단되지 않은 제품을 찾습니다. 데이터베이스에게 "빼기 쉬운 장난감을 줘, 돈이 많이 드는 않고 아직 판매 중인 것들!"이라고 말하는 것과 같습니다.
4. LIKE 연산자
LIKE 연산자는 텍스트 데이터에서 패턴을 검색할 때 최고의 친구입니다. 와일드카드를 사용하여 문자열의 일부를 매칭합니다:
- % : 임의의 문자 수를 매칭
- _ : 단일 문자를 매칭
다음은 예제입니다:
SELECT customer_name, email
FROM customers
WHERE email LIKE '%@gmail.com';
이 쿼리는 Gmail 주소를 가진 모든 고객을 찾습니다. %
와일드카드는 '@gmail.com' 앞의 임의의 문자를 매칭합니다.
5. IN 연산자
IN 연산자는 여러 개의 OR 조건을 결합하는 간단한 방법입니다. 값 목록에서 일치를 찾을 때 매우 유용합니다.
SELECT product_name, category
FROM products
WHERE category IN ('Books', 'Movies', 'Music');
이 쿼리는 도서, 영화 또는 음악 카테고리에 속한 모든 제품을 검색합니다. category = 'Books' OR category = 'Movies' OR category = 'Music'
을 작성하는 것보다 훨씬 깨끗합니다.
6. BETWEEN 연산자
BETWEEN 연산자는 값의 범위 내에 있는 항목을 찾는 데 도움이 됩니다. 이는 포함적입니다.
SELECT order_id, order_date, total_amount
FROM orders
WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';
이 쿼리는 2023년에 주문된 모든 주문을 찾습니다. "신정절부터 음력설까지 모든 것을 보여줘!"라고 말하는 것과 같습니다!
SQL 연산자 우선순위
이제 이 많은 연산자를 만났으니, 쿼리에서 여러 연산자를 사용할 때 SQL이 어떤 순서로 평가할지 알아보는 것이 중요합니다. 이를 연산자 우선순위라고 합니다.
다음은 간단한 SQL 연산자 우선순위 표입니다:
- 괄호 ()
- 곱셈/나눗셈 (*, /)
- 덧셈/뺄셈 (+, -)
- 비교 연산자 (=, <>, <, >, <=, >=)
- NOT
- AND
- OR
이를 실제로 사용해보겠습니다:
SELECT product_name, price, category
FROM products
WHERE category = 'Electronics' AND (price < 500 OR rating > 4);
이 쿼리에서 SQL은 다음과 같이 평가합니다:
- 괄호 안의 조건을 먼저 평가 (price < 500 OR rating > 4)
- 그런 다음 AND 연산자와 category 조건을 결합
이를 통해 우리는 $500 이하이거나 평점이 4 이상인 전자 제품을 찾습니다.
그리고 여러분, 이제 SQL 연산자에 대한 비상식적인 튜토리얼을 마친 것입니다! 이 도구들을 가지고 데이터 조작의 마에斯特로가 될 준비가 되었습니다. 연습이 완벽을 이루는 것을 잊지 마세요, 그러니 자신의 쿼리에서 이 연산자들을 실험해보세요. 행복한 코딩을!
Credits: Image by storyset