AS
명령어로 별칭을 붙일 수 있습니다.
컬럼명이 길어서 바꾸고 싶은 경우 또는 테이블명을 바꾸고 싶을 경우 사용합니다.
별칭의 이름이 ASCII가 아닌 문자열일 경우 쌍 따옴표(")를 붙여야 합니다.
SELECT *,(컬럼1 * 컬럼2) AS "금액" FROM 테이블명;
만약 조건문(whre)에서 별칭을 사용한다면 에러가 발생합니다.
반면, ORDER BY
절은 SELECT
명령어 순서 상 가장 마지막에 처리되므로 별칭을 사용할 수 있습니다.
SELECT *, (column1 * column2) As foo FROM 테이블명 ORDER BY foo DESC;
테이블에 또한 별칭 이용이 가능합니다.
MySQL 에서 사용자가 유용하게 사용할 수 있도록 제공하는 함수가 있습니다.
사용자가 함수를 직접 만들 수도 있는데, MySQL에서 제공하는 함수에 대해 알아보겠습니다.
ROUND
CEIL
FLOOR
ABS
SIN
, COS
SQRT
TRUNCATE(N,n)
SELECT *, ROUND(amount) FROM products;
SUM
COUNT
MIN
MAX
AVG
DISTINCT
CONCAT
SUBSTR
TRIM
CHAR_LENGTH
CURRENT_TIMESTAMP
DATEDIFF
reg-date 컬럼에 현재 시간으로 "YYYY-MM-DD HH-MM-SS" 포맷의 문자열 또는 "YYYYMMDDHHMMSS.uuuuuu" 포맷의 정수로 조회하여 추가하는 예제입니다.
UNION
명령어는 두 테이블의 합집합을 연산하는 명령어입니다.(SELECT * FROM products) UNION (SELECT * FROM items);
SELECT
쿼리는 가독성을 위해 bracket으로 묶었습니다. (SELECT products_no AS no FROM products) UNION (SELECT items_no AS no FROM items) ORDER BY no;
합집합 연산 외에도 교집합, 차집합이 있지만 MySQL에서는 따로 지원하는 명령어가 없다. JOIN을 이용해야한다.