SQL ServerのFROM句とは?基本構文からJOINの使い方まで徹底解説
SQL ServerにおけるFROM句(T-SQL)は、SQLクエリ内で必要なテーブルを指定・列挙するために使用される重要な句です。データを取得する対象となるテーブルを明示することで、SELECT文がどのテーブルから情報を読み込むべきかを定義します。
FROM句の基本構文
FROM bang1
[ { INNER JOIN
| LEFT OUTER JOIN
| RIGHT OUTER JOIN
| FULL OUTER JOIN } bang2
ON bang1.cot1 = bang2.cot1 ]
パラメータと引数の説明
bang1 および bang2 — SQLステートメント内で使用されるテーブルです。これら2つのテーブルは、「bang1.cot1 = bang2.cot1」という条件に基づいて結合されます。
注意点
- FROM句には必ず1つ以上のテーブルを指定する必要があります。
- 2つ以上のテーブルを扱う場合は、通常INNER JOINやOUTER JOINなどのキーワードを使って結合します。WHERE句で古い構文による結合も可能ですが、結合条件をFROM句に記述する新しい標準的な方法を使用することが推奨されています。可読性や保守性の面でも優れています。
使用例1:1つのテーブルの場合
SELECT *
FROM nhanvien
WHERE ten = 'Jane';
この例では、FROM句を使用して nhanvien テーブルを指定しています。他のテーブルとの結合は行わず、単一のテーブルからデータを取得するシンプルなケースです。
使用例2:2つのテーブルをINNER JOINで結合する場合
SELECT nhacungcap.nhacungcap_id, nhacungcap.nhacungcap_ten, donhang.donhang_ngay
FROM nhacungcap
INNER JOIN donhang
ON nhacungcap.nhacungcap_id = donhang.nhacungcap_id;
この例では、FROM句によって nhacungcap と donhang の2つのテーブルを指定し、両方のテーブルに存在する nhacungcap_id 列をキーとして INNER JOIN で結合しています。INNER JOINは、両方のテーブルに一致するレコードのみを結果として返します。
使用例3:2つのテーブルをOUTER JOINで結合する場合
SELECT nhanvien.nhanvien_id, danhba.ho
FROM nhanvien
LEFT OUTER JOIN danhba
ON nhanvien.nhanvien_id = danhba.danhba_id
WHERE nhanvien.ten = 'Sarah';
このFROM句では、nhanvien と danhba の2つのテーブルを指定し、両テーブルの nhanvien_id 列を基準に LEFT OUTER JOIN で結合しています。LEFT OUTER JOINを使用すると、左側のテーブル(nhanvien)のすべてのレコードが保持され、右側のテーブル(danhba)に一致するデータがない場合でもNULLとして結果に含まれます。
まとめ
FROM句はSQL Serverクエリの基盤となる要素であり、単一テーブルへのアクセスから複数テーブルの結合まで幅広く対応します。INNER JOIN、LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOINといった結合方法を適切に使い分けることで、目的に応じた柔軟なデータ取得が可能になります。特に複数テーブルを扱う際は、結合条件をFROM句内に明記する現代的な記述方式を採用することをおすすめします。
-
SQL Serverのメモリ最適化テーブルが引き起こすメモリプレッシャーアラートの対処法
Microsoft SQL Serverはメモリ管理に非常に優れたデータベースエンジンですが、環境によってはメモリプレッシャーのアラートが発生し、データベースエンジンが必要なメモリを確保できず、エラーにつながる場合があります。 はじめに 本記事では、SQL Server® 2019(Enterprise Edition)上のメモリ最適化テーブル(In-Memory OLTP)に起因するメモリプレッシャーによって発生する特異な障害シナリオの解決方法を解説します。ここで紹介する手順は、SQL Server 2014以降のバージョンでも同様に適用できます。 画面には次のようなエラーメッセージが表示さ
-
MS Access から SQL Server へデータを移行する方法【初心者向け手順解説】
データベースのサイズが大きくなりすぎてAccessでは管理しきれなくなったため、筆者は最近AccessデータベースからSQL Server 2014へデータを移行しました。作業自体はそれほど難しくありませんが、同じことで悩む方のために、ステップごとの詳しい手順を記事としてまとめておきます。 事前準備:SQL Serverのインストール まず最初に、お使いのパソコンにSQL ServerまたはSQL Server Expressがインストールされていることを確認してください。個人用PCにSQL Server Expressをダウンロードする場合は、必ずAdvanced Services(高度なサ