MariaDB 查询构造

MariaDB Query Construction

这个查询有效。但是有没有更好的方法来构建它?我认为可能会使用 INNER Joins。但我认为我不需要它们。

SELECT site.Name, vuln.Risk 
from site, vuln, system 
WHERE vuln.sysID=system.ID AND system.siteID=site.ID;

您可以使用显式连接语法(工作方式相同但更清晰)

SELECT 
      site.Name
    , vuln.Risk 
FROM site
INNER JOIN system on system.siteID=site.ID
INNER JOIN vuln on  vuln.sysID=system.ID;

我绝对推荐使用显式连接语法,因为它们现代而清晰。

select site.name,
    vuln.Risk
from site
join system on vuln.sysID = system.ID
join vuln on system.siteID = site.ID

是的,您可以使用 JOIN,例如:

SELECT s.name, v.risk
FROM site s JOIN system sys ON s.id = sys.siteID
JOIN vuln v ON v.sysID = s.ID;