..
誰がSQLの知識が結合であるかを知っている。 私たちのガイドと他の記事で私はJOINとどのようにデータベース内の異なるテーブル間のリレーションシップを作成する方法を説明します。
最も一般的な要件は、正確に位置し、リターンが対応を満たすフィールドが関係している複数のテーブル内で求められてINNER JOIN句を救助、その場合2つのテーブル間のマッチを見つけるためにJOINの楽器によって満たされるJOINインチ
逆にあまり直感的なJOIN内の一致を持っていないフィールドを識別する必要があります。
の例をとってみましょう。
あなたが電子商取引のデータベース2つの表のみで構成されてを管理するとします。
最初の要件を満たすために、当然のことながら、非常に簡単です:
SELECT CUSTOMER.FIRST、CUSTOMER.LAST 顧客からの INNER JOIN受注 = clienti.id ordini.id_cliente ON ASC CUSTOMER.LAST、ORDER BYとこれまでのところは問題ありません。
しかし、どのように結果を逆にできますか?
うーん...
最初に、INNER JOINを使用しますが、LEFTはしかし、左側のテーブルからの結果がとにかく返される、部分的な完全ではなく、一致を、見つけるために参加しません。
これがなければ、レコードは、その後、NULL(SQL NULLの値が存在しないことを識別する"特別な値"の一種として定義されているとして識別(すなわち、報告書では見られない)欠落している(WHERE句を使用して)になります..)
コードを見てみましょう:
SELECT CUSTOMER.FIRST、CUSTOMER.LAST 顧客からの 受注を左結合 = clienti.id ordini.id_cliente ON NULL ordini.id_clienteはどこにあるの ASC CUSTOMER.LAST、ORDER BY結果は、実際には、何かを買ったことがないお客様の名前のリストです。
| |
MS Accessの(上級)
迅速かつ簡単にデータベースを作成および管理する方法を学びます。 29€から開始。 |
| |
MySQLの(コース)
オープンソースのデータベースの管理。 39€から。 |
| |
SQLとデータベース(コース)
リレーショナルデータベースを作成および管理。 39€から。 |