簡體   English   中英

用FROM中列出的多個表解釋MySQL查詢

[英]Explaining MySQL query with multiple tables listed in FROM

a,b沒有直接關系。

a,b與結果有什么關系?

select * from a,b where b.id in (1,2,3)

你能解釋一下sql嗎?

既然你沒有指定的關系ab ,這產生交叉產品。 等效於:

SELECT *
FROM a
CROSS JOIN b
WHERE b.id IN (1, 2, 3)

它將a每一行與b的三個選定行合並。 如果a有100行,結果將是300行。

您使用的是Multitable SELECT

Multitable SELECT (M-SELECT)Multitable SELECT (M-SELECT)操作相似。 您可以從不同的表中選擇值,使用WHERE子句來限制返回的行,並將生成的單個表發送回查詢的發起者。

M-SELECT的區別在於它將返回乘法表作為結果集。
有關更多詳細信息,請訪問: https ://dev.mysql.com/worklog/task/ ? id = 358

換句話說,您查詢的是:

SELECT * 
FROM a 
CROSS JOIN b 
WHERE b.id in (1,2,3)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM