concat, alias, distinct, limit

밤비나·2023년 4월 18일
0

SQL

목록 보기
6/13

CONCAT

MySQL에서 CONCAT() 함수는 하나 이상의 문자열을 결합하여 새로운 문자열을 생성하는 데 사용된다.

예제) Hello World 출력

SELECT CONCAT('Hello', ' ', 'World');

예제) The product price is $10

SELECT CONCAT('The product price is $', 10);

NULL 값이 포함된 문자열을 CONCAT() 함수로 결합하면 결과는 NULL이 된다.

SELECT CONCAT('Product', NULL);

예제) 함수와 컬럼 사용

SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM customers;
+-------------+
|  full_name  |
+-------------+
| John Smith  |
| Jane Doe    |
| Bob Johnson |
+-------------+

ALIAS

쿼리를 작성할 때 결과의 컬럼이나 테이블을 가리키는 임시 이름. alias를 사용하면 결과를 더 읽기 쉽고 이해하기 쉬운 형태로 표현할 수 있다.

  • 컬럼 alias: SELECT column_name AS alias_name FROM table_name;
  • 테이블 alias: SELECT column_name FROM table_name AS alias_name;
SELECT first_name AS '이름', last_name AS '성' FROM customers;
SELECT o.order_id, c.customer_name FROM orders o JOIN customers c ON o.customer_id = c.customer_id;

alias는 WHERE, ORDER BY, GROUP BY 등의 구문에서도 사용될 수 있다.
예제) 날짜 컬럼의 이름을 'date'로 변경하고, 이를 GROUP BY 구문에서 참조

SELECT DATE_FORMAT(order_date, '%Y-%m-%d') AS date, SUM(amount) AS total_amount FROM orders GROUP BY date;

DISTINCT

DISTINCT는 중복된 결과를 제거하여 유일한 결과만 반환하도록 쿼리를 필터링하는 데 사용된다. 즉, SELECT DISTINCT를 사용하면 특정 열의 중복 값을 하나의 유일한 값으로 만들 수 있다.

DISTINCT 키워드를 사용하면 name 열에서 중복된 값을 제거한 결과를 얻을 수 있다.

SELECT DISTINCT name FROM members;

또한, 단일 열 뿐만 아니라 여러 열에서도 사용할 수 있다. 예를 들어, name과 email 열에서 중복된 값을 제거하려면 다음과 같은 쿼리를 사용할 수 있다.

SELECT DISTINCT name, email FROM members;

LIMIT

쿼리에서 가져오는 결과의 행 수를 제한하는 역할을 한다. 이를 통해 많은 수의 결과를 반환하는 쿼리에서 결과를 필요한 만큼만 가져올 수 있다.

예제) orders 테이블에서 처음 5개의 결과만 뽑기

SELECT *
FROM orders
LIMIT 5;

LIMIT는 서브쿼리와 함께 사용될 수 있으며, 이 경우 서브쿼리에서 반환하는 결과 행 수를 제한한다.

예제) members 테이블에서 가입한 지 오래된 3명의 회원 정보만 가져오는 서브쿼리

SELECT *
FROM orders
WHERE member_id IN (
  SELECT id
  FROM members
  ORDER BY join_date
  LIMIT 3
);
profile
씨앗 데이터 분석가.

0개의 댓글