2017-03-20 71 views
0

此查询适用。但是有没有更好的方法来构建它?我认为可以使用INNER Joins。但我不认为我需要他们。MariaDB查询构建

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

回答

1

是的,你可以使用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; 
+0

谢谢! IDK为什么我在理解JOINS时遇到了问题 –

1

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

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

谢谢! IDK为什么我有问题了解JOINS –

1

我肯定会推荐使用显式连接语法,因为他们现代化的和明确的。

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

谢谢! IDK为什么我有问题了解JOINS –