MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでORDER BY句を使ってビューを作成する方法

MySQLでは、ORDER BY句を使用することで、結果セット内のレコードを任意の列を基準に並べ替えることができます。この記事では、ビューと組み合わせたORDER BY句の使い方を解説します。動作を確認するために、次のようなデータを持つベーステーブル「Student_info」をもとに、「Info」という名前のビューを作成していきます。

mysql> Select * from Student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Chandigarh | Literature |
| 125  | Raman   | Shimla     | Computers  |
| 130  | Ram     | Jhansi     | Computers  |
| 132  | Shyam   | Chandigarh | Economics  |
| 133  | Mohan   | Delhi      | Computers  |
+------+---------+------------+------------+
6 rows in set (0.00 sec)

構文

ビュー作成時にORDER BY句を指定する場合の基本構文は以下の通りです。

Create or Replace View view_name AS Select_statements FROM table ORDER BY expression [ASC|DESC]
  • ASC:昇順(値の小さい順)で並べ替えます。指定を省略した場合も昇順が適用されます。
  • DESC:降順(値の大きい順)で並べ替えます。

使用例

まずは、Name列を基準に昇順(ASC)で並べ替えるビューを作成してみましょう。

mysql> Create or Replace View Info AS select ID, Name, Address , Subject FROM Student_info ORDER BY Name ASC;
Query OK, 0 rows affected (0.11 sec)

mysql> Select * from info;
+------+---------+------------+------------+
| ID   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 105  | Gaurav  | Chandigarh | Literature |
| 133  | Mohan   | Delhi      | Computers  |
| 130  | Ram     | Jhansi     | Computers  |
| 125  | Raman   | Shimla     | Computers  |
| 132  | Shyam   | Chandigarh | Economics  |
| 101  | YashPal | Amritsar   | History    |
+------+---------+------------+------------+
6 rows in set (0.00 sec)

実行結果を見ると、レコードがName列のアルファベット順(A→Z)に整然と並んでいることが確認できます。

続いて、同じビューを降順(DESC)で並べ替えるように定義し直します。

mysql> Create or Replace View Info AS select ID, Name, Address , Subject FROM Student_info ORDER BY Name DESC;
Query OK, 0 rows affected (0.10 sec)

mysql> Select * from info;
+------+---------+------------+------------+
| ID   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101  | YashPal | Amritsar   | History    |
| 132  | Shyam   | Chandigarh | Economics  |
| 125  | Raman   | Shimla     | Computers  |
| 130  | Ram     | Jhansi     | Computers  |
| 133  | Mohan   | Delhi      | Computers  |
| 105  | Gaurav  | Chandigarh | Literature |
+------+---------+------------+------------+
6 rows in set (0.00 sec)

今度はName列がZ→Aの順序で表示されました。このように「Create or Replace View」文を使用すれば、既存のビューを削除することなく、ORDER BY句の内容ごと自由に定義し直すことが可能です。

まとめ

MySQLでは、ビューを作成する段階でORDER BY句を指定しておくことで、そのビューからデータを取得した際のデフォルトの並び順を制御できます。なお、ビューを利用する側のSELECT文で別途ORDER BY句を指定すれば、取得時に並び順を上書きすることもできるため、用途に応じて使い分けると効果的です。

  1. MySQLビュー(VIEW)にWHERE句を使う方法をわかりやすく解説

    MySQLビューでWHERE句を使用する方法MySQLでは、作成済みのビュー(VIEW)に対して、通常のテーブルと同じようにWHERE句を指定してデータを絞り込むことができます。基本となる構文は以下の通りです。select * from yourViewName where yourColumnName=yourValue;それでは、実際にサンプルを使って手順を確認していきましょう。1. サンプルテーブルを作成するまず、学生情報を格納するテーブルを作成します。mysql> create table DemoTable1432 -> ( -> StudentId

  2. MySQLでビュー(VIEW)を作成する方法|CREATE VIEWの基本構文と実行例を解説

    MySQLのビュー(VIEW)とは?ビュー(VIEW)とは、SQLクエリの結果セットをもとに定義される「仮想テーブル」のことです。実際のデータを物理的に保存するわけではなく、元のテーブルへの参照情報のみを保持します。そのため、複雑なクエリをシンプルな名前で呼び出せるようにしたり、ユーザーに見せたい列や行だけを限定して提供したりする際に非常に便利です。MySQLでビューを作成するには、CREATE VIEW文を使用します。ビュー作成の基本構文ビューを作成するための基本構文は以下の通りです。create view yourViewName as select * from yourTableNam