MySQL에서는 COUNT(*) 함수의 결과에 별칭(alias)을 지정하면, 그 별칭이 마치 변수 이름처럼 동작하도록 활용할 수 있습니다. 이를 통해 테이블에 저장된 전체 레코드 수를 원하는 이름으로 깔끔하게 출력할 수 있습니다.
기본 문법
SELECT COUNT(*) AS anyAliasName FROM yourTableName;
AS 키워드 뒤에 붙인 별칭이 결과 집합의 열 이름으로 표시되므로, 쿼리 결과를 읽기 쉽게 만들어 줍니다.
1. 예제 테이블 생성
먼저 실습용 테이블을 만들어 보겠습니다.
mysql> CREATE TABLE DemoTable695 (
FirstName VARCHAR(100)
);
Query OK, 0 rows affected (0.72 sec)2. 레코드 삽입
INSERT 명령어를 사용해 몇 개의 레코드를 추가합니다.
mysql> INSERT INTO DemoTable695 VALUES('Chris');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable695 VALUES('Robert');
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable695 VALUES('David');
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable695 VALUES('Mike');
Query OK, 1 row affected (0.16 sec)3. 저장된 데이터 확인
SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.
mysql> SELECT * FROM DemoTable695;
실행 결과는 다음과 같습니다.
+-----------+ | FirstName | +-----------+ | Chris | | Robert | | David | | Mike | +-----------+ 4 rows in set (0.00 sec)
4. COUNT(*)에 별칭을 지정해 레코드 수 출력하기
이제 COUNT(*)에 별칭을 부여하여, 마치 변수처럼 이름을 붙여 전체 레코드 수를 조회하는 쿼리입니다.
mysql> SELECT COUNT(*) AS TOTAL_NO_OF_RECORDS FROM DemoTable695;
실행 결과는 다음과 같습니다.
+---------------------+ | TOTAL_NO_OF_RECORDS | +---------------------+ | 4 | +---------------------+ 1 row in set (0.02 sec)
결과 열의 이름이 TOTAL_NO_OF_RECORDS로 표시되며, 테이블에 저장된 총 4개의 레코드 수가 정상적으로 반환된 것을 확인할 수 있습니다. 이처럼 별칭을 활용하면 별도의 사용자 변수를 선언하지 않고도 가독성 높은 형태로 레코드 개수를 출력할 수 있습니다.