私は、左の結合を練習しようとしています。なぜ左の結合で結果が列の下にいくつかの行が表示されます
これらの2つのテーブルであり、赤 第一の試みを強調し、共通のいくつかの詳細を持っている - 私は内部結合を実行すると、私は赤 クエリで4行に一致する正しい結果を得ることはあり
select * from empl1
inner join empl2 on empl1.empl_code=empl2.empl_code
下など第二試み - 私が参加し、左を実行すると、私は共通しているすべての4行を得るが、6行の残りの部分は、すべてのNULL値 - が
select * from empl2
left join empl1 on empl2.empl_code=empl1.empl_code
下の第三試みとしてクエリを参照してください示して - 列のタイトルに言及して左結合を実行すると、指定列を除くすべての列に完全な値が得られます。指定列では、一致する行を除いてNULL値が返されます。なぜ私はNULL値と結合左に問題に直面しています2
を1を試してみて、試してみてくださいため
SELECT empl1.empl_code, empl1.fullname, empl2.designation, empl1.salary, empl1.department, empl1.tablename
FROM Empl1
left join empl2 on empl1.empl_code = empl2.empl_code
の下で結果としてクエリを参照してください?なぜ2回目の私はすべての列の値を取得し、指定でnullを取得するのですか?
私は左が参加
ようこそStackOverflow。 [良いSQL質問をする方法をお読みください](https://meta.stackoverflow.com/a/271056/5234334)。また、画像ではなくコピーできるテーブルの観点からデータを入れます。 – Utsav
それはLEFT JOINの全体のポイントです。結果には、最初のテーブルのすべての行が含まれます。 2番目のテーブルに一致するものがあれば、そのテーブルからカラムを取得します。そうでなければ 'NULL'を取得します。 – Barmar
さまざまなタイプのジョインについてこのチュートリアルを読んでください:http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/ – Barmar