在phpmyadmin中选择From multi table

时间:2016-06-18 13:17:57

标签: mysql sql phpmyadmin

我有以下表格:

branchInfo  (brID, brName)
MotherBoard (ComputerID, Manufacturer, Product, SerialNumber)
Computers   (ComputerID, LatestIP, brID)
CPU         (ComputerID, NumberOfCores, ClockSpeed)
OS          (ComputerID, MemorySize)
Disk        (ComputerID, MemorySize)
Network     (LatestIP, ipSubnet)

并希望.csv导出(brName,制造商,产品,SerialNumber,LatestIP,ipSubnet,NumberOfCores,ClockSpeed,MemorySize,MemorySize)字段 请帮我写一下sql代码

1 个答案:

答案 0 :(得分:0)

您要做的事情称为联接。您可以通过同时从多个表中选择来在SQL中连接多个表。当您想从一个表中获取信息时,您必须告诉SQL表格的相关性。作为连接两个表的基本模式,您可以告诉SQL两个表来选择,然后如何连接它们。例如,如果您有两个非常简单的表dogLicencedogAge,并且这些表分别包含(名称,许可证号)和(名称,年龄),代码SELECT * from dogLicence, dogAge将为您提供狗年龄和许可证号码的所有组合。因此,您需要WHERE子句。如果你说SELECT * from dogLicence, dogAge WHERE dogLicence.name = dogAge.name,你只会选择一只狗,你会得到它的名字,许可证号码是一个年龄。当然,将名称作为主键这样的做法是不好的做法,但我们只是假装它是为了简单起见。最后,您可以在选择表时使用表格的简写。如果您编写SELECT * from dogLicencse s,现在可以在该语句的其余部分将该表称为“s”。考虑到所有这些,您的查询将如下所示:

SELECT brname, Manufacturer, Product, SerialNumber, LatestIP, ipSubnet, NumberOfCores, ClockSpeed, MemorySize, MemorySize 
FROM branchInfo br, Motherboard m, Computers c, CPU cpu, OS o, Disk d,     network N 
WHERE b.brID = c.brID 
AND m.ComputerID = c.ComputerID 
AND o.ComputerID = c.ComputerID 
AND d.ComputerID = c.ComputerID 
AND n.ComputerID = c.ComputerID 
and cpu.ComputerID = c.ComputerID 
AND c.LatestIP = n.LatestIP;