MySQL中的左關(guān)聯(lián)是指以左邊表為基礎(chǔ),按照條件關(guān)聯(lián)右邊的表,生成一張新的表。在生成的新表中,左邊表中的每一行都會(huì)被顯示,而右邊表中沒有匹配到的行則用NULL填充。
然而,有時(shí)查詢結(jié)果并不想按照左邊表為基礎(chǔ)進(jìn)行關(guān)聯(lián),而是想按照右邊表為基礎(chǔ)進(jìn)行關(guān)聯(lián)。那么該怎么實(shí)現(xiàn)呢?
SELECT t1.*, t2.* FROM table2 t2 LEFT JOIN table1 t1 ON t1.id = t2.id;
以上是按照右邊表為基礎(chǔ)進(jìn)行關(guān)聯(lián)的SQL語句示例,其中table2為右邊的表,table1為左邊的表。與普通的左關(guān)聯(lián)不同的是,這里左右表的順序已經(jīng)發(fā)生了顛倒。實(shí)際上,左關(guān)聯(lián)并沒有規(guī)定一定要按照左邊表為基礎(chǔ)進(jìn)行關(guān)聯(lián),只是因?yàn)榱?xí)慣而已。
需要注意的是,在使用這種方法進(jìn)行關(guān)聯(lián)時(shí),要特別小心條件的使用,尤其是表中數(shù)據(jù)非常龐大時(shí)。