SQL / PDO查询优化


仍然引起我的注意。

目前,我正在使用2个PDO查询。我要执行的操作范围如下:
-首先,我需要将a转换name为表ID
-然后使用此ID,获取companyID与检索到的表相匹配的ID

所以目前我有:(PS我知道有PDO速记,我只是不为了在所有php脚本中保持一致性而在本项目atm中使用它们)

$prep = $DBH->prepare("SELECT Company.id FROM Company WHERE Company.name = :companyName LIMIT 1");
$prep->bindParam(":companyName", $_GET['companyName']);
$prep->execute();
$data = $prep->fetch();
$companyID = $data['id'];

$prep = $DBH->prepare("SELECT People.* FROM People WHERE People.companyID = :companyID");
$prep->bindParam(":companyID",$companyID);
$prep->execute();

我的印象是,我将能够使用某种JOIN-可能INNER JOIN在单个查询中执行此操作。

这可能吗?-如果是,将不胜感激!

谢谢 !

琼斯

是的,这是SQL 102。

您需要以下查询:

 SELECT People.* 
   FROM Company 
   JOIN People ON People.companyID = Company.id
  WHERE Company.name = :companyName
  ORDER BY People.Surname, People.Givename

我猜该ORDER BY子句中的列名称但这将:companyName在一个查询中产生所有与之相关的人这是有效的。SQL是为此而设计的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章