일단 MySQL 데이터베이스의 종(횡의 반대말) 출력방법을 알아보겠습니다.
MYSQL[test]> select * from test;
+------+------+------+
| x | y | z |
+------+------+------+
| 0 | abc | def |
| 0 | abc | def |
| 0 | abc | def |
+------+------+------+
3 rows in set (0.00 sec)
MYSQL [test]> select * from test \G
*************************** 1. row ***************************
x: 0
y: abc
z: def
*************************** 2. row ***************************
x: 0
y: abc
z: def
*************************** 3. row ***************************
x: 0
y: abc
z: def
3 rows in set (0.00 sec)
MYSQL[test]>
컬럼의 갯수가 많을때 이처럼 종방향으로 출력하면 보기 편하겠죠?
PostgreSQL 에도 이런 기능이 있을까요? 물론 있습니다. 다음과 같습니다.
scott@[local]:5432:scottdb]
empno | ename | job | mgr | hiredate | sal | comm | deptno
-------+--------+-----------+------+------------+------+------+--------
7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600 | 300 | 30
7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250 | 500 | 30
7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975 | NULL | 20
7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250 | 1400 | 30
7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850 | NULL | 30
7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2450 | NULL | 10
7788 | SCOTT | ANALYST | 7566 | 1982-12-09 | 3000 | NULL | 20
7839 | KING | PRESIDENT | NULL | 1981-11-17 | 5000 | NULL | 10
7844 | TURNER | SALESMAN | 7698 | 1981-09-08 | 1500 | 0 | 30
7876 | ADAMS | CLERK | 7788 | 1983-01-12 | 1100 | NULL | 20
7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000 | NULL | 20
7934 | MILLER | CLERK | 7782 | 1982-01-23 | 1300 | NULL | 10
7369 | SMITH | CLERK | 7902 | 1980-12-17 | 900 | NULL | 20
7900 | JAMES | CLERK | 7698 | 1981-12-03 | 1050 | NULL | 30
scott@[local]:5432:scottdb]
scott@[local]:5432:scottdb]
. . . . . . . . . . . . . . . . .
scott@[local]:5432:scottdb]
참고로 오라클에서는 디폴트로 이런 기능을 제공하지 않습니다.
하지만, 이런식으로 구현할수 있답니다.