【SQL】SELECT文の実行結果もっと見やすくならないですか？

# SELECT文の実行結果もっと見やすくならないですか？
後輩ちゃん「SELECT文の実行結果もっと見やすく表示できないのかな」
後輩ちゃん「カラム量が多かったり、レコードの中身が多かったりすると表示が崩れて実行結果が見ずらいんだよな～」

すずこ「そんな時は、**メタコマンド**を使おう！」

## 目次
1. [メタコマンドとは](#メタコマンドとは)
1. [通常のSELECT文の実行結果](#通常のselect文の実行結果)
1. [メタコマンド \Gを使用したSELECT文の実行結果](#メタコマンドを使用したselect文の実行結果)

## メタコマンドとは
:::note info
メタコマンド
SQLクエリの通常機能に加えて、追加で利用できる便利コマンド
オプションのような使い方ができる
:::

すずこ「SQLの実行結果をレコードずつ取得するメタコマンド **`\G`** があるんだよ」
すずこ「実際に違いを見比べてみよう」

## 通常のSELECT文の実行結果
すずこ「カラム数やレコードのデータによって、表示が崩れたりするよね」
すずこ「エディタの表示サイズにもよるけど、よくこういった実行結果になるんだ」

※ダミーデータです

#### 実行結果
```
MariaDB [test]> select * from employees;
+-----+------------------+---------------------------------+------------+--------------------------------------------------------------+------------------------------------------+-----------------+--------+----------+------------+------------+---------+---------------------+---------------------+------------+-------+--------+------+-----------+-----------------+-----------------+
| id  | name             | name_kana                       | birthday   | password_digest                                              | email                                    | employee_number | base   | position | join_date  | evaluation | remarks | created_at          | updated_at          | company_id | admin | gender | city | education | nearest_station | retirement_date |
+-----+------------------+---------------------------------+------------+--------------------------------------------------------------+------------------------------------------+-----------------+--------+----------+------------+------------+---------+---------------------+---------------------+------------+-------+--------+------+-----------+-----------------+-----------------+
---------------------+-------------------+--------------+-----------+------+---------------+---------------+---------------+
 system_design_skill | development_skill | server_skill | specialty | pr   | department_id | prefecture_id | join_division |
---------------------+-------------------+--------------+-----------+------+---------------+---------------+---------------+
|   1 | 管理者           | あどみん                        | 1999-01-01 | $2a$04$T7Pjob.9jpYrcN8ZWeSZFeqt5AyBWPPMV//IDeiIcT06kn7r3NTUC | admin@test.jp                             | test-001         | 東京   |          | 2000-01-01 | NULL       | NULL    | 2022-08-03 20:25:22 | 2022-09-26 23:33:02 |          1 |     1 |      0 |      |           |                 | NULL     
       | NULL                | NULL              | NULL         | NULL      | NULL |             1 |          NULL |             0 |
|   2 | 一般             | いっぱん                        | 1999-01-01 | $2a$04$3rqEwXxBvWEdLeL02ajn1.kngtzXAXdH1zAcKoeOCYr2NIDEsEGda | general@test.jp                           | test-002         | 東京   | NULL     | 2000-01-01 | NULL       | NULL    | 2022-08-03 20:25:22 | 2022-08-03 20:25:22 |          1 |     0 |      0 | NULL | NULL      | NULL            | NULL     
       | NULL                | NULL              | NULL         | NULL      | NULL |             1 |          NULL |             0 |
|   3 | 武藤 圭志        | むとう きよし                   | 1978-04-08 | $2a$04$Mph5eDgPnYqu9uvMlQ8C/OiDqzLe5Ku4sAi74WfW1FurhyyARJN1a | dallas@runte.co                          | test-003         | 東京   | NULL     | 2010-06-07 | NULL       | NULL    | 2022-08-03 20:25:23 | 2022-08-03 20:25:23 |          1 |     0 |      1 | NULL | NULL      | NULL            | NULL     
       | NULL                | NULL              | NULL         | NULL      | NULL |             1 |          NULL |             0 |
|   4 | 松本 沙依        | まつもと さよ                   | 1969-12-09 | $2a$04$q1WU9KBTX/ODDrou6gy6UOJuI.Z./VJTq.qXpKBBBOfQgstt811q. | seth.quigley@tremblay-prosacco.net       | test-004         | 東京   | NULL     | 2018-09-19 | NULL       | NULL    | 2022-08-03 20:25:23 | 2022-08-03 20:25:23 |          1 |     0 |      0 | NULL | NULL      | NULL            | NULL     
       | NULL                | NULL              | NULL         | NULL      | NULL |             1 |          NULL |             0 |
|   5 | 白井 伸安        | しらい のぶやす                 | 1983-04-08 | $2a$04$.S3M2R6ObEDTRcJ7epqolutfcbQMYjDDjBlHysyd.Sf8zRn/IURW6 | jerry_schuster@champlin.org              | test-005         | 東京   | NULL     | 2012-09-30 | NULL       | NULL    | 2022-08-03 20:25:23 | 2022-08-03 20:25:23 |          1 |     0 |      1 | NULL | NULL      | NULL            | NULL     
       | NULL                | NULL              | NULL         | NULL      | NULL |             1 |          NULL |             0 |
```

後輩ちゃん「対応するカラムとレコードが見づらくてすごく不便に感じるんです」
後輩ちゃん「メタコマンド？を使うときれいに表示されるんですか？」

すずこ「そう！レコードごとに表示してくれるから対応するデータもとても見やすくなるよ！」
すずこ「実際にメタコマンド **`\G`** を利用してみよう」

## メタコマンドを使用したSELECT文の実行結果
すずこ「構文の違いは、**;（セミコロン）** を **\G** に変えるだけ！」

#### 構文
```diff
- select * from employees;
+ select * from employees\G
```

#### 実行結果
```
MariaDB [test]> select * from employees\G
*************************** 1. row ***************************
                 id: 1
               name: 管理者
          name_kana: あどみん
           birthday: 1999-01-01
    password_digest: $2a$04$T7Pjob.9jpYrcN8ZWeSZFeqt5AyBWPPMV//IDeiIcT06kn7r3NTUC
              email: admin@test.jp
    employee_number: test-001
               base: 東京
           position:
          join_date: 2000-01-01
         evaluation: NULL
            remarks: NULL
         created_at: 2022-08-03 20:25:22
         updated_at: 2022-09-26 23:33:02
         company_id: 1
              admin: 1
             gender: 0
               city: NULL
          education: NULL
    nearest_station: NULL
    retirement_date: NULL
system_design_skill: NULL
  development_skill: NULL
       server_skill: NULL
          specialty: NULL
                 pr: NULL
      department_id: 1
      prefecture_id: NULL
      join_division: 0
*************************** 2. row ***************************
                 id: 2
               name: 一般
          name_kana: いっぱん
           birthday: 1999-01-01
    password_digest: $2a$04$3rqEwXxBvWEdLeL02ajn1.kngtzXAXdH1zAcKoeOCYr2NIDEsEGda
              email: general@test.jp
    employee_number: test-002
               base: 東京
           position: NULL
          join_date: 2000-01-01
         evaluation: NULL
            remarks: NULL
         created_at: 2022-08-03 20:25:22
         updated_at: 2022-08-03 20:25:22
         company_id: 1
              admin: 0
             gender: 0
               city: NULL
          education: NULL
    nearest_station: NULL
    retirement_date: NULL
system_design_skill: NULL
  development_skill: NULL
       server_skill: NULL
          specialty: NULL
                 pr: NULL
      department_id: 1
      prefecture_id: NULL
      join_division: 0
```

後輩ちゃん「カラムとデータも対応していて、見やすくなりました！」

すずこ「SQLの実行結果の表示に困ったときは是非使ってみて！」

---

以上