搜尋

首頁  >  問答  >  主體

java - 这个sql为什么没加where关键词还多加了一个and ,照样能运行查出数据,没有报错呢?

这样写并没有报错,而且可以查出想要的数据

SELECT
    a.*, b.sj_name,
    c.hy_name
FROM
    qdwyc_dd a
LEFT JOIN qdwyc_hy_sj b ON a.dd_jdr = b.id
JOIN qdwyc_hy_passenger c ON a.dd_xdr = c.id
AND dd_num LIKE '%94%'
迷茫迷茫2888 天前504

全部回覆(9)我來回復

  • PHP中文网

    PHP中文网2017-04-18 10:32:54

    文檔
    mysql left join使用on 與where 篩選的差異

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:32:54

    join也支援多條件唄

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:32:54

    有 ON 關鍵字 相當於where這個關鍵字 左外聯結查詢

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:32:54

    有深度,,路過學習了

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-18 10:32:54

    table1 left join table2 on + 查询条件。 SQL 語句要多學學,基礎不夠紮實...

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-18 10:32:54

    樓上正解, 樓主需要多看基礎

    回覆
    0
  • PHPz

    PHPz2017-04-18 10:32:54

    這個and是和on後面的條件連一起的,是表格關聯的條件之一。基礎.............

    回覆
    0
  • 怪我咯

    怪我咯2017-04-18 10:32:54

    1、 join on後面跟and條件是在產生臨時表時使用的條件,它不管on中的條件是否為真,都會傳回左邊表中的記錄。

    2、where條件是在臨時表產生好後,再過濾臨時表的條件。這時已經沒有left join的意思(必須回傳左邊表的記錄)了,條件不為真的就全部過濾掉。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-18 10:32:54

    SQL語言基礎部分的內連接,外連接,外連接又分左外、右外和完全外連接,樓主系統看一下SQL語言基礎就找到了

    回覆
    0
  • 取消回覆