PostgreSQL - 표현식
안녕하세요, 미래의 데이터베이스 마법사 여러분! 오늘은 PostgreSQL 표현식의 fascineting 세계로 점프할 거예요. 초보자라면 걱정하지 마세요; 기본부터 시작해 점진적으로 올라갈 거예요. 이 튜토리얼이 끝나면, 프로처럼 표현식을 만드는 법을 배우게 될 거예요!
PostgreSQL에서 표현식이란?
구체적인 내용으로 돌아가기 전에, 표현식이 무엇인지 이해해 보겠습니다. PostgreSQL에서 표현식은 하나 이상의 값, 연산자, 함수를 조합하여 단일 값을 평가하는 것입니다. 레시피라고 생각해 보세요: 다양한 원료(값)를 다양한 도구(연산자와 함수)를 사용하여 맛있는 요리(결과)를 만드는 것입니다.
이제 PostgreSQL의 다양한 표현식 타입을 탐구해 보겠습니다.
PostgreSQL - 부울 표현식
부울 표현식은 시험에서의 참/거짓 질문과 같습니다. 그들은 TRUE 또는 FALSE로 평가됩니다. 데이터를 필터링하거나 데이터베이스 쿼리에서 결정을 내릴 때 매우 유용합니다.
기본 부울 연산자
다음은 PostgreSQL에서 일반적인 부울 연산자의 표입니다:
연산자 | 설명 | 예제 |
---|---|---|
AND | 두 조건 모두 참이면 TRUE 반환 | a AND b |
OR | 적어도 하나의 조건이 참이면 TRUE 반환 | a OR b |
NOT | 결과를 부정 | NOT a |
이제 이 것들을 실제로 보겠습니다:
SELECT * FROM students WHERE age >= 18 AND grade = 'A';
이 쿼리는 18세 이상이고 성적이 'A'인 모든 학생을 선택합니다. 이는 "성인 A 학생들을 보여줘!"라고 말하는 것과 같습니다.
SELECT * FROM products WHERE category = 'Electronics' OR price > 1000;
이 쿼리는 'Electronics' 카테고리에 속하거나 가격이 $1000 이상인 모든 제품을 검색합니다. 이는 "고급 제품이나 기술 제품은 무엇인가요?"라고 묻는 것과 같습니다.
비교 연산자
PostgreSQL은 부울 표현식을 만들기 위한 비교 연산자도 제공합니다:
연산자 | 설명 |
---|---|
= | 같다 |
<> or != | 다르다 |
< | 작다 |
> | 크다 |
<= | 작거나 같다 |
>= | 크거나 같다 |
예제:
SELECT name, salary FROM employees WHERE salary > 50000;
이 쿼리는 급여가 $50,000 이상인 모든 직원을 찾습니다. 이는 HR에게 "우리의 최고 수입자는 누구인가요?"라고 묻는 것과 같습니다.
PostgreSQL - 수학 표현식
수학 표현식은 PostgreSQL에서 수학적 연산을 포함합니다. 이들은 학교에서 풀었던 수학 문제와 같지만, 이제는 데이터베이스에서 숫자를 뒤적이는 데 도움을 줍니다!
산술 연산자
다음은 기본적인 산술 연산자입니다:
연산자 | 설명 | 예제 |
---|---|---|
+ | 덧셈 | a + b |
- | 뺄셈 | a - b |
* | 곱셈 | a * b |
/ | 나눗셈 | a / b |
% | 나머지 | a % b |
^ | 지수 | a ^ b |
이这些东西을 몇 가지 쿼리에 사용해 보겠습니다:
SELECT product_name, price, price * 0.9 AS discounted_price
FROM products;
이 쿼리는 모든 제품에 10% 할인을 적용합니다. 이는 "generous store owner"가 세일을 하고 있는 것과 같습니다!
SELECT employee_name, salary, salary + (salary * 0.05) AS new_salary
FROM employees;
여기서 우리는 모든 직원에게 5% 인상을 줍니다. 이게 좋지 않을까요?
수학 함수
PostgreSQL은 다양한 수학 함수를 제공합니다. 몇 가지 예를 들어 보겠습니다:
함수 | 설명 |
---|---|
ABS(n) | 절대값 |
ROUND(n, m) | m 자리수로 둘러내림 |
POWER(x, y) | x를 y次幂으로 계산 |
SQRT(n) | 제곱근 |
예제:
SELECT order_id, total_amount, ROUND(total_amount, 2) AS rounded_total
FROM orders;
이 쿼리는 총 금액을 두 자리수로 둘러냅니다. 이는 우리의 재정이 깔끔하게 보이도록 하는 것과 같습니다.
PostgreSQL - 날짜 표현식
날짜 표현식은 PostgreSQL에서 날짜와 시간을 조작하고 계산할 수 있게 해줍니다. 이들은 당신의 디지털 캘린더와 시계를 결합한 것과 같습니다!
날짜/시간 함수
PostgreSQL은 날짜와 시간을 다루기 위한 다양한 함수를 제공합니다. 몇 가지 일반적인 것을 보겠습니다:
함수 | 설명 |
---|---|
CURRENT_DATE | 현재 날짜 |
CURRENT_TIME | 현재 시간 |
CURRENT_TIMESTAMP | 현재 날짜와 시간 |
AGE(timestamp, timestamp) | 두 타임스탬프 간의 차이 계산 |
DATE_PART(text, timestamp) | 날짜/시간 값의 하위 필드 가져오기 |
이这些东西을 실제로 보겠습니다:
SELECT username, registration_date,
AGE(CURRENT_DATE, registration_date) AS account_age
FROM users;
이 쿼리는 각 사용자가 등록된지 얼마나 지났는지 계산합니다. 이는 각 계정의 "나이"를 확인하는 것과 같습니다!
SELECT event_name, event_date,
DATE_PART('day', event_date) AS day_of_month
FROM events;
여기서 우리는 각 이벤트 날짜의 일을 추출합니다. 이는 이벤트를 일별로 조직하는 데 유용합니다!
간격 산술
PostgreSQL은 날짜와 간격을 산술할 수 있습니다. 간격은 시간의 지속 기간을 나타냅니다.
SELECT order_date,
order_date + INTERVAL '7 days' AS expected_delivery_date
FROM orders;
이 쿼리는 주문 날짜에서 7일 후의 예상 배송 날짜를 계산합니다. 이는 물류 관리자로서 배송을 계획하는 것과 같습니다!
그렇게 해서 여러분! 우리는 PostgreSQL 표현식의 땅을 여행했습니다. 부울 논리에서 수학적 계산에서 시간 여행(그렇게 말이죠)까지! 연습이 완벽을 만드는 것을 기억하세요, 그러니 자신의 데이터베이스 놀이터에서 이 표현식을 실험해 보지 마세요. 즐거운 쿼리 작성을 기원합니다!
Credits: Image by storyset