sql >> Databasteknik >  >> RDS >> PostgreSQL

Parentesreglerna för PostgreSQL, finns det en sammanfattad guide?

"Finns det en sammanfattad guide?" , ja... Svaret är nej , alltså:praktiskt! Det här svaret är en Wiki, låt oss skriva.

Sammanfattad guide

Låt,

  • F () en vanlig funktion. (ex. ROUND )
  • L () en funktionsliknande operator (t.ex. ANY )
  • f en operatorliknande funktion (t.ex. current_date )
  • Op en operatör
  • Op1 , Op2 är distinkta operatorer
  • A, B, C-värden eller uttryck
  • S en uttryckslista, som "(A,B,C)"

Reglerna, som använder dessa element, är i formen

  • regel :anteckningar.

"rena" matematiska uttryck

När Op , Op1 , Op2 är matematiska operatorer (ex. + , - . * ), och F () är en matematisk funktion (ex. ROUND() ).

Regler för skalära uttryck och "ren matrisuttryck":

  • En Op B =(A Op B) :parentesen är valfri.
  • En Op1 B Op2 C :måste kontrollera företräde .
  • (A Op1 B) Op2 C :enforce "first (A Op1 B)".
  • En Op1 (B Op2 C) :framtvinga "först (B Op2 C)".
  • F (A) =(F (A)) =F ((A)) =(F ((A))) :parenteserna är valfria.
  • S =(S) :de externa parenteserna är valfria.
  • f =(f ) :parenteserna är valfria.

Uttryck med funktionsliknande operatorer

Regler för operatörer som ALL , ANY , ROW , SOME osv.

  • L (A) =L ((A)) :parentesen är valfri i argumentet.
  • (L (A)) :SYNTAXFEL.

...Fler regler? Hjälp till att redigera här.



  1. Oracle 11g:I PL/SQL finns det något sätt att få information om infogade och uppdaterade rader efter MERGE DML-satsen?

  2. Hur man undkommer frågetecken (?) med Spring JpaRepository

  3. MySQL Välj DISTINCT flera kolumner baserat på unikheten hos en rad?

  4. Att lagra bildfiler i Mongo-databasen, är det en bra idé?