データベースの基本-接続の詳細
なぜ接続する必要があるのですか?
実際のアプリケーションでは、データは複数のテーブルからクエリされます。クエリを容易にするために、テーブルを接続する必要があります。
接続分類
の種類 | 説明 |
---|---|
述語接続 | SQLでは、通常、where条件ステートメント、テーブル、および前のテーブルで渡されます。 |
joinキーワードを使用 | T-SQLは、joinキーワードを使用して接続を指定する方法を拡張し、テーブルの接続操作機能を強化します。(主に結合接続を確認します)。結合接続は、内部接続(内部)と外部接続(外部)に分けられます。SQLサーバーのデフォルトの内部接続 |
参加する
select *
from xsb join cjb on xsb.学号=cjb.学号 join kcb on kcb.课程号=cjb.课程
外部結合に参加する
左外部結合(左外部結合)
注:結合条件を満たす行に加えて、結果テーブルには左側のテーブルのすべての行も含まれます。値のないすべての行がnull
例として設定されます:
select *
from xsb left outer join cjb on xsb.学号=cjb.学号
結果:試験なし、選択したコースなし、すべてnull
値に設定
右外部結合(右外部結合)
在这里插入代码片
クロス結合(クロス結合==デカルト積;)
説明:クロス結合は、実際には2つのテーブルに対してデカルト積演算を実行します。結果テーブルは、最初のテーブルの各行を2番目のテーブルの各行とスプライスすることによって形成されたテーブルであるため、テーブルの行数は2つのテーブルに等しくなります。行の
select count(*) from xsb; -- 查询到xsb表的行数为23
select count(*) from cjb; -- 查询到cjb表的行数为42
-- 进行笛卡尔积运算(交叉连接)
select count(*)
from xsb cross join cjb -- 查询到的结果行数为966