MySQLのSELECT文で特定のカラム(列)のレコードを取得する方法
はじめに
MySQLでSELECTクエリを実行する際、SELECT *を使うとすべてのカラムが取得されますが、カラム名を明示的に指定すれば、必要なカラム(列)のデータだけを効率的に取り出せます。この記事では、サンプルテーブルを作成しながら、特定のカラムのレコードを取得する手順を解説します。
1. テーブルの作成
まず、CREATE TABLE文でサンプル用のテーブルを作成しましょう。
mysql> create table DemoTable1837
(
StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName varchar(20)
);
Query OK, 0 rows affected (0.00 sec)
2. レコードの挿入
次に、INSERTコマンドを使ってテーブルに複数のレコードを挿入します。
mysql> insert into DemoTable1837(StudentName) values('Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1837(StudentName) values('David');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1837(StudentName) values('Bob');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1837(StudentName) values('Mike');
Query OK, 1 row affected (0.00 sec)3. すべてのレコードを表示する
SELECT文を使って、テーブル内のすべてのレコードを表示してみましょう。
mysql> select * from DemoTable1837;
上記のクエリを実行すると、次のような出力が得られます。
+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1 | Chris |
| 2 | David |
| 3 | Bob |
| 4 | Mike |
+-----------+-------------+
4 rows in set (0.00 sec)
4. 特定のカラムのレコードを取得する
特定のカラムだけを取得したい場合は、アスタリスク(*)の代わりにカラム名を指定します。たとえば、「StudentName」カラムのみを取得するクエリは次のとおりです。
mysql> select StudentName from DemoTable1837;
実行すると、指定したカラムの値だけが出力されます。
+-------------+
| StudentName |
+-------------+
| Chris |
| David |
| Bob |
| Mike |
+-------------+
4 rows in set (0.00 sec)
まとめ
このように、SELECT文でカラム名を明示的に指定することで、テーブル全体ではなく必要なカラムのデータだけを取得できます。不要なデータの転送を抑えられるため、アプリケーションのパフォーマンス向上やクエリの可読性向上の面でも、特定のカラムを指定するSELECT文の活用をおすすめします。複数のカラムを取得したい場合は、SELECT カラム名1, カラム名2 FROM テーブル名;のようにカンマ区切りで指定できます。
-
MySQLでテーブルの重複を除いたレコードから平均値を取得するクエリの書き方
MySQLで平均値を求めるには AVG() 関数を使用します。さらに DISTINCT と組み合わせることで、重複しているレコードを除外した状態で平均を計算することができます。この記事では、実際にサンプルテーブルを作成しながら、個別(ユニーク)なレコードから平均値を取得する方法を解説します。サンプルテーブルの作成まず、以下のクエリでテーブルを作成します。mysql> create table DemoTable1934 ( StudentName varchar(20), StudentMarks int ); Query OK, 0 rows affec
-
MySQLでテーブルから特定の行を抽出するクエリの書き方
MySQLでは、WHERE句とORDER BY、LIMITを組み合わせることで、テーブルから条件に合致する特定の行だけを効率的に取得できます。本記事では、実際にサンプルテーブルを作成し、特定の行を抽出するクエリの実行手順をわかりやすく解説します。 1. サンプルテーブルの作成 まず、CREATE TABLE文を使ってサンプル用のテーブルを作成します。ここでは「Section(組)」と「StudentName(生徒名)」という2つのカラムを持つテーブルを用意しました。 mysql> create table DemoTable1972 ( Section char(1),