这是最优的吗?

时间:2018-08-29 16:06:42

标签: sql oracle

我的意思是使用变量来引用select中的表,而不是where部分中的表:

SELECT TPJ.A,
       TPJ.B,
       TPJ.C,
       TPJ.D
  FROM SCHEMA.TABLE TPJ
 WHERE A = 'V1'
   AND B = 'V2'
   AND C = 'V3';

2 个答案:

答案 0 :(得分:2)

我建议您始终使用表别名限定列引用。所以,我认为:

public function boot()
{
    $notifications = \App\Notification::all(); //Change this to the code you would use to get the notifications

    view()->share('notifications', $notifications);
}

我自由地承认,对于具有一个表引用的查询来说,这没有什么区别。但是,对我来说,进行一次查询然后使其变得更为复杂并不罕见。从完全限定的列名开始,该过程更加简单。

答案 1 :(得分:1)

从样式的角度来看,您的查询不是最佳的,因为您定义了表别名,但是并没有在所有地方始终使用它。由于您的查询是针对单个表的,因此您甚至不需要别名,并且我也不会使用别名:

SELECT A, B, C, D
FROM SCHEMA.TABLE
WHERE
    A = 'V1' AND
    B = 'V2' AND
    C = 'V3';

话虽如此,您编写的内容仍然可以运行,因为Oracle应该能够解析ATPJ.A

相关问题