内联vs内

内联vs内,第1张

内联vs内

两种语法有不同的用途。假设使用Join语法,则需要StockToCategory和Category表中的某些内容。如果每个类别的StockToCategory表中有多个条目,则将重复“类别”表的值。

使用IN函数可以假定您只需要类别中ID符合某些条件的项目。如果给定的CategoryId(假设它是Category表的PK)在StockToCategory表中多次存在,则仅返回一次。

在您的确切示例中,它们将产生相同的输出,但是IMO,后面的语法使您的意图(仅想要类别)更加清晰。

顺便说一句,第三种语法类似于使用IN函数:

Select ...From CategoryWhere Exists    (     Select 1     From StockToCategory     Where StockToCategory.CategoryId = Category.CategoryId         And StockToCategory.Stock = @StockId     )


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5675672.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存