gpt4 book ai didi

mysql - 在 sql 语句中使 where 子句可选

转载 作者:太空宇宙 更新时间:2023-11-03 12:00:09 25 4
gpt4 key购买 nike

这是我当前的查询:

SELECT `performers`.`hash`,
`performers`.`alias`,
`performers`.`date_updated`,
`performers`.`status`,
IF(`performers`.`status` = 'active', 'deleted','active') AS `statususe`,
`images`.`image_hash_file`
FROM `performers`
LEFT JOIN `images` ON `images`.`asset_id` = `performers`.`id`
WHERE (`images`.`asset_type` = 'performer')
ORDER BY `alias` ASC LIMIT 12`

其中,有一个where子句

WHERE (`images`.`asset_type` = 'performer')

我希望它是可选的,这样如果 where 子句不适合,它仍然会显示表演者表中没有连接到完成图像记录的记录。

最佳答案

您可以在 LEFT JOIN 中添加 WHERE 子句,因此不匹配的行仍在结果集中。

SELECT `performers`.`hash`, `performers`.`alias`, 
`performers`.`date_updated`, `performers`.`status`,
IF(`performers`.`status` = 'active', 'deleted','active') AS `statususe`,
`images`.`image_hash_file`
FROM `performers`
LEFT JOIN `images` ON `images`.`asset_id` = `performers`.`id` AND `images`.`asset_type` = 'performer'
ORDER BY `alias` ASC
LIMIT 12

WHERE 和 ON 子句之间的主要区别在于,ON 子句在 JOIN 期间起作用,而 WHERE 子句在连接所有内容之后起作用,从而使不匹配的行从结果集中删除。

关于mysql - 在 sql 语句中使 where 子句可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29757595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com