PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Postgres bagaimana menerapkan kolom terhitung dengan klausa

Jika Anda tidak ingin mengulang ekspresi, Anda dapat menggunakan tabel turunan:

select *
from (
   select id, cos(id) + cos(id) as op 
   from myTable 
) as t 
WHERE op > 1;

Ini tidak akan berdampak pada kinerja, ini hanya gula sintaksis yang diperlukan oleh standar SQL.

Atau Anda dapat menulis ulang di atas ke ekspresi tabel umum:

with t as (
  select id, cos(id) + cos(id) as op 
  from myTable 
)
select *
from t 
where op > 1;

Yang mana yang Anda sukai sebagian besar adalah masalah selera. CTE dioptimalkan dengan cara yang sama seperti tabel turunan, jadi yang pertama mungkin lebih cepat terutama jika ada indeks pada ekspresi cos(id) + cos(id)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa melakukan kurang dari, lebih besar dari di bidang JSON Postgres?

  2. Susunan yang lebih kuat dengan dukungan ICU di PostgreSQL 10

  3. Deklarasikan variabel tipe komposit di PostgreSQL menggunakan %TYPE

  4. Mengekspor Tabel AWS Postgres RDS ke AWS S3

  5. PGSQL tidak dimuat di PHP 5.3 Windows di bawah IIS