私はこのクロスデータベースクエリを持っています...
SELECT
`DM_Server`.`Jobs`.*,
`DM_Server`.servers.Description AS server,
digital_inventory.params,
products.products_id,
products.products_pdfupload,
customers.customers_firstname,
customers.customers_lastname
FROM `DM_Server`.`Jobs`
INNER JOIN `DM_Server`.servers ON servers.ServerID = Jobs.Jobs_ServerID
JOIN `cpod_live`.`digital_inventory` ON digital_inventory.jobname = Jobs.Jobs_Name
JOIN `cpod_live`.`products` ON products.products_pdfupload = CONCAT(digital_inventory.jobname, ".pdf")
JOIN `cpod_live`.`customers` ON customers.customers_id = products.cID
ORDER BY `DM_Server`.`Jobs`.Jobs_StartTime DESC LIMIT 50
私がそれらを作成するまでうまく動作しますLEFT JOIN
s。結合のタイプを指定しないことで、LEFT JOIN
。そうではありませんか?
結合のタイプを指定しないことにより、LEFT JOINであると想定されたと考えました。そうではありませんか?
いいえ、デフォルトの結合はINNER JOINです。
SQL結合の視覚的な説明 です。
内部結合
左結合
いいえ。タイプが指定されていない場合、INNER JOIN
使用されている。違いを調べるには; wikipedia
デフォルトはINNER JOIN
JOIN
を指定した場合。
クエリでJOINをデフォルトで指定した場合は、INNER JOINと見なされます。
左結合:左結合は、Leftテーブルのすべての要素を取得し、Rightテーブルの一致するレコードのみをFollowsとして取得します。例:
SELECT column_name(s)
FROM table_name1 #(Left table)
LEFT JOIN table_name2 #(Right table)
ON table_name1.column_name=table_name2.column_name
お役に立てれば。