1. ホーム
  2. mysql

MySQLのJOINとLEFT JOINの違い

2023-10-25 07:09:44

質問

私はこのクロスデータベースクエリを持っています...

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結合の視覚的な説明です。 .

内部結合

左結合