【SQL初心者向け】SQL Server Management Studio(SSMS)で役立つ基本クエリ集

SQL

SQL Serverで現在のデータベースに存在するテーブル一覧を取得するクエリ

-- データベース内に存在するテーブル一覧を取得
SELECT 
    TABLE_SCHEMA,      -- スキーマ名(例:dbo)
    TABLE_NAME,        -- テーブル名
    TABLE_TYPE         -- テーブル種別('BASE TABLE' または 'VIEW')
FROM 
    INFORMATION_SCHEMA.TABLES
ORDER BY 
    TABLE_SCHEMA, 
    TABLE_NAME;

接続中のデータベース内に存在するテーブルの一覧を取得するSQLです。
テーブルのスキーマ名、テーブル名、テーブルの種類(基本テーブルまたはビュー)を確認できます。

  • INFORMATION_SCHEMA.TABLES はSQL Serverが標準で提供するビューで、データベースのメタ情報にアクセスできます。
  • TABLE_TYPE が ‘BASE TABLE’ の場合は物理テーブル、’VIEW’ の場合はビューを意味します。
  • 特定のスキーマのみに絞りたい場合は、WHERE TABLE_SCHEMA = ‘dbo’ などの条件を追加できます。

特定のカラム名を持つテーブルを検索するクエリ

-- 指定したカラム名を含むテーブルを検索する(ここでは 'updated_at')
SELECT 
    t.name AS TableName,
    c.name AS ColumnName
FROM 
    sys.tables t
INNER JOIN 
    sys.columns c ON t.object_id = c.object_id
WHERE 
    c.name = 'updated_at'
ORDER BY 
    t.name;

このクエリは、現在のデータベース内で updated_at というカラム名を持つテーブルを一覧表示します。
カラム名は自由に変更できるため、任意のカラムがどのテーブルに含まれているかを調査したいときに便利です。
スキーマをまたいで広く確認できるため、既存のデータ構造を把握したい場面で役立ちます。

最近更新されたレコードを確認するクエリ(例:ordersテーブル)

-- 更新日時が新しい順にレコードを確認する(ordersテーブルの例)
SELECT TOP 10 *
FROM dbo.orders
ORDER BY updated_at DESC;

このクエリは、orders テーブルの中から updated_at の値が新しい順に最大10件のレコードを取得します。
最近更新されたデータの内容や状態を素早く確認したいときに使います。
特に、運用中のシステムでの不具合調査や、直近の更新履歴を追いたいときに役立ちます。
※テーブルに updated_at カラムが存在することが前提です。

現在接続しているデータベース名を確認するクエリ

-- 現在接続しているデータベース名を確認する
SELECT DB_NAME() AS CurrentDatabase;

このクエリを実行すると、現在接続中のデータベース名が CurrentDatabase という列名で表示されます。
複数のデータベースを扱う環境では、意図したデータベースに接続しているかを確認するのに有用です。
SSMSのタブを複数開いて作業しているときなど、事故を防ぐために活用できます。

コメント

タイトルとURLをコピーしました