• ブログ
  • >
  • [SQLの基本]クエリの基本: 行と列の取得方法

SQLクエリの基本:行と列の取得方法

投稿日:

はじめに

今回は、SQLを使ってデータベースから特定の情報を取得する方法について詳しく見ていきます。具体的には、「全ての行と列を取得」「特定の列を取得」「条件を指定して行を取得」「データの並び替え」「重複を排除して取得」について説明します。

全ての行と列を取得

最も基本的なSQLクエリの一つが、テーブルから全ての行と列を取得する方法です。これはSELECT *を使用して行います。

例 employeesテーブルから全てのデータを取得するクエリは次の通りです。

SELECT 
  * 
FROM employees;

特定の列を取得

必要な列だけを取得する場合は、SELECT文の後に取得したい列名を指定します。

例 employeesテーブルからfirst_nameとlast_name列のみを取得するクエリは次の通りです。

SELECT 
  first_name, 
  last_name 
FROM employees;

条件を指定して行を取得

特定の条件に一致する行のみを取得するには、WHERE句を使用します。

例 employeesテーブルから年齢が30以上の従業員を取得するクエリは次の通りです。

SELECT 
  * 
FROM employees 
WHERE age >= 30;

データの並び替え

結果を特定の順序で並び替えたい場合は、ORDER BY句を使用します。

例 employeesテーブルから給与の高い順に並び替えてデータを取得するクエリは次の通りです。

SELECT 
  * 
FROM employees 
ORDER BY salary DESC;

もう一つの例として、給与の低い順に並び替える場合は、ASC(昇順)を使用します。

SELECT 
  * 
FROM employees 
ORDER BY salary ASC;

重複を排除して取得

特定の列で重複する値を排除して取得するには、DISTINCT句を使用します。

例 employeesテーブルから重複するjob_titleを排除して取得するクエリは次の通りです。

SELECT 
  DISTINCT job_title 
FROM employees;

取得件数を制限する

大量のデータがあるテーブルから先頭の数件だけを取得したい場合は、LIMIT句を使用します。データの確認や動作テストの際にとても便利です。

例 employeesテーブルから先頭の5件だけを取得するクエリは次の通りです。

SELECT
  *
FROM employees
LIMIT 5;

ORDER BYと組み合わせることで、「給与の高い上位3名」のような取得も可能です。

SELECT
  *
FROM employees
ORDER BY salary DESC
LIMIT 3;

まとめ

今回の記事では、SELECTを使ってデータベースから特定の情報を取得する基本的な方法について説明しました。SELECT *による全件取得、特定列の選択、WHERE句による条件指定、ORDER BYによる並び替え、DISTINCTによる重複排除、LIMITによる件数制限を押さえておけば、日常的なデータ取得に困ることはないでしょう。

SheetFlow - 学んだSQLを業務で活かそう

SQLマーケティングアカデミーで身につけたSQLスキル、実務でも使ってみませんか?

SheetFlowは、ExcelファイルをアップロードしてSQLで直接操作できるクラウドサービスです。学んだSELECT文やJOIN、集計関数をそのまま業務データに適用し、手作業の集計を自動化できます。

SheetFlowを無料で試す