Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

SQLのdescについてまとめています。

SQLのdescは、order byソートの並び替えの降順指定

以下はMySQLの例です。employeesは、MySQL用のサンプルデータベースです。employees(社員)テーブルから、hire_date(雇用日付)が新しい社員のデータを降順に10件取得しています。

mysql> select * from employees order by hire_date desc limit 10;
+--------+------------+------------+------------+--------+------------+
| emp_no | birth_date | first_name | last_name  | gender | hire_date  |
+--------+------------+------------+------------+--------+------------+
| 463807 | 1964-06-12 | Bikash     | Covnot     | M      | 2000-01-28 |
| 428377 | 1957-05-09 | Yucai      | Gerlach    | M      | 2000-01-23 |
| 499553 | 1954-05-06 | Hideyuki   | Delgrande  | F      | 2000-01-22 |
| 222965 | 1959-08-07 | Volkmar    | Perko      | F      | 2000-01-13 |
|  47291 | 1960-09-09 | Ulf        | Flexer     | M      | 2000-01-12 |
| 422990 | 1953-04-09 | Jaana      | Verspoor   | F      | 2000-01-11 |
| 227544 | 1954-11-17 | Shahab     | Demeyer    | M      | 2000-01-08 |
| 205048 | 1960-09-12 | Ennio      | Alblas     | F      | 2000-01-06 |
| 226633 | 1958-06-10 | Xuejun     | Benzmuller | F      | 2000-01-04 |
| 424445 | 1953-04-27 | Jeong      | Boreale    | M      | 2000-01-03 |
+--------+------------+------------+------------+--------+------------+

【関連記事】
SQL order byでソート指定するサンプルコード集 指定のレコードだけ先頭に並べるには?

一部のデータベースでは、descはテーブルの定義情報を調べるSQLコマンド

同じdescでも、一部のデータベースではテーブル定義情報を調べるためのコマンドとして使われています。以下は、employees(社員)テーブルのカラム名、データ型、null許可、デフォルト値、キーなどを表示します。

mysql> desc employees;
+------------+---------------+------+-----+---------+-------+
| Field      | Type          | Null | Key | Default | Extra |
+------------+---------------+------+-----+---------+-------+
| emp_no     | int           | NO   | PRI | NULL    |       |
| birth_date | date          | NO   |     | NULL    |       |
| first_name | varchar(14)   | NO   |     | NULL    |       |
| last_name  | varchar(16)   | NO   |     | NULL    |       |
| gender     | enum('M','F') | NO   |     | NULL    |       |
| hire_date  | date          | NO   |     | NULL    |       |
+------------+---------------+------+-----+---------+-------+

この場合、descはdescribeの省略系として使われています。

Oracleでのdesc実行例

select * from SCOTT.DEPT order by LOC desc;
----------
DEPTNO	DNAME	LOC
10	ACCOUNTING	NEW YORK
20	RESEARCH	DALLAS
30	SALES	CHICAGO
40	OPERATIONS	BOSTON

OracleでもMySQL同様、テーブルのカラム詳細情報を表示するためにdescが用意されています。

SQL Serverでのdesc使用例

以下は、SQL Serverにテーブルを作成して、productNameを降順にソートして全件取得する例です。

CREATE TABLE ForgeRock
    ([productName] varchar(13), [description] varchar(57))
;

INSERT INTO ForgeRock
    ([productName], [description])
VALUES
    ('OpenIDM', 'Platform for building enterprise provisioning solutions'),
    ('OpenAM', 'Full-featured access management'),
    ('OpenDJ', 'Robust LDAP server for Java')
;

select * from ForgeRock order by productName desc;

productName	description
----------------------------
OpenIDM	Platform for building enterprise provisioning solutions
OpenDJ	Robust LDAP server for Java
OpenAM	Full-featured access management

PostgreSQLのdesc使用例

以下のSQLは、testtableテーブルを作成し、4件のデータをinsertしたあと、nameカラムを降順にソートして取得する例です。varchar型のdesc指定は、辞書順序の降順になります。

create table testtable (
    id integer primary key,
    name varchar(10)
);

insert into testtable (id, name ) values (1,'a');
insert into testtable (id, name ) values (2,'cat');
insert into testtable (id, name ) values (3,'apple');
insert into testtable (id, name ) values (4,'doc');

select * from testtable order by name desc;

id	name
----------
4	doc
2	cat
3	apple
1	a

まとめ

ポテパンダの一言メモ
  • descは、order byのソートの降順指定をおこなう
  • データベースによっては、desc テーブル名で、テーブルの詳細表示
  • 文字型のdesc指定は、辞書順序の降順指定となる

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。