はじめに
SQL を扱う際に、「テーブルの構造を確認する」「データを並び替える」といった操作は頻繁に行われます。
そんなときに役立つのが DESC
というコマンドです。
しかし、DESC
には異なる 2 つの用途があり、それぞれの使い方を正しく理解しておくことが重要です。
本記事では、DESC
の基本的な使い方を解説し、実際に試せるハンズオンも紹介します。
書こうと思ったきっかけ
SQL を学び始めたときに、「DESC
って何?」と疑問に思ったことがありました。
調べてみると、「テーブルの構造を確認する」「データを降順に並び替える」という 2 つの使い方があることがわかりました。
しかし、これらの用途が混同されやすく、初心者にとってわかりにくい部分もあると感じました。
そこで、DESC
の意味を整理し、初心者でもすぐに理解できるような記事を書こうと思いました。
SQLの DESC
とは?
SQLの DESC
には2つの主要な用途があります。1つはテーブルの構造を確認するため、もう1つはデータを降順(大きい順)で並べ替えるために使用されます。
本記事では、それぞれの使い方について解説します。
1. テーブルの構造を確認する(DESCRIBE
の省略形)
SQLでテーブルの構造を確認する際に使用されるのが DESC
コマンドです。これは DESCRIBE
の省略形で、テーブルのカラム情報を表示します。
使用例
例えば、users
テーブルの構造を確認するには、次のようなSQLコマンドを実行します。
DESC users;
このコマンドを実行すると、以下のような情報が表示されます。
Field | Type | Null | Key | Default | Extra |
---|---|---|---|---|---|
id | int(11) | NO | PRI | NULL | auto_increment |
name | varchar(50) | YES | NULL | ||
age | int(11) | YES | NULL |
このように、各カラムのデータ型・NULL許可/禁止・主キー(PRI)・デフォルト値・追加情報が確認できます。
2. ORDER BY
との組み合わせ(降順ソート)
DESC
は、ORDER BY
句と組み合わせてデータを**降順(大きい順)**に並べ替える際にも使用されます。
使用例
users
テーブルの age
列を降順でソートするには、以下のSQLを実行します。
SELECT * FROM users ORDER BY age DESC;
このSQLを実行すると、年齢 (age
) の値が大きい順に並び替えられた結果が取得できます。
実際にやってみた
ここでは、実際にデータベースを操作しながら DESC
を試してみます。Docker Hub から MySQL のイメージを取得し、ローカル環境で検証してみます。
詳細はこちら👇
ステップ 1: users
テーブルを作成
まず、サンプルの users
テーブルを作成します。
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
age INT
);
ステップ 2: データを挿入
いくつかのデータを追加します。
INSERT INTO users (name, age) VALUES
('Alice', 25),
('Bob', 30),
('Charlie', 22);
ステップ 3: DESC
でテーブルの構造を確認
DESC users;
実際のコマンド結果について
ステップ 4: ORDER BY DESC
でデータを取得
SELECT * FROM users ORDER BY age DESC;
実際のコマンド結果について
このハンズオンを通じて、DESC
の実用的な使い方を体験できます!
まとめ
用途 | コマンド | 説明 |
---|---|---|
テーブルの構造を確認 | DESC table_name; |
指定したテーブルのカラム情報を表示 |
降順ソート | ORDER BY column_name DESC; |
指定したカラムの値を降順(大きい順)に並べ替え |
DESC
を活用すれば、テーブルの構造をすばやく確認したり、データの並び順を調整したりできます。
SQLを扱う際にはぜひ覚えておきましょう!