这个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%'
神不在的星期二
浏览 538回答 9
9回答

蝴蝶刀刀

文档mysql left join使用on 与where 筛选的差异

慕标琳琳

join也支持多条件呗

慕森卡

有 ON 关键字 相当于where这个关键字 左外联结查询

人到中年有点甜

有深度,,路过学习了

白衣染霜花

table1 left join table2 on + 查询条件。 SQL 语句要多学学,基础不够扎实...

幕布斯6054654

楼上正解, 楼主需要多看看基础

九州编程

这个and是和on后面的条件连一起的,是表关联的条件之一。基础.............

万千封印

1、 join on后面跟and条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。 2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java