SQL | AR klauzulu

SQL | AR klauzulu

SQL WITH klauzulu Oracle ieviesa Oracle 9i 2. laidiena datubāzē. SQL WITH klauzula ļauj piešķirt apakšvaicājuma blokam nosaukumu (process, ko sauc arī par apakšvaicājuma pārveidošanu), uz kuru var atsaukties vairākās galvenajā SQL vaicājumā.

  • Klauzula tiek izmantota, lai definētu pagaidu relāciju tā, lai šīs pagaidu attiecības izvade būtu pieejama un to izmantotu vaicājums, kas saistīts ar klauzulu WITH.
  • Vaicājumus, kuriem ir saistīta klauzula WITH, var arī rakstīt, izmantojot ligzdotos apakšvaicājumus, taču tas padara SQL vaicājuma lasīšanu/atkļūdošanu sarežģītāku.
  • WITH klauzulu neatbalsta visas datu bāzes sistēmas.
  • Apakšvaicājumam piešķirtais nosaukums tiek apstrādāts tā, it kā tas būtu iekļauts skats vai tabula
  • SQL WITH klauzulu Oracle ieviesa Oracle 9i 2. laidiena datubāzē.

Sintakse:

WITH temporaryTable (averageValue) as (SELECT avg(Attr1) FROM Table) SELECT Attr1 FROM Table, temporaryTable WHERE Table.Attr1>pagaiduTable.averageValue;>>   

Šajā vaicājumā klauzula WITH tiek izmantota, lai definētu pagaidu relāciju pagaidu tabulu, kurai ir tikai 1 atribūts mediumValue. mediumValue satur kolonnas Attr1 vidējo vērtību, kas aprakstīta saistībā ar Tabulu. SELECT priekšraksts, kas seko klauzulai WITH, radīs tikai tos korteņus, kuros Attr1 vērtība attiecībā uz Tabulu ir lielāka par vidējo vērtību, kas iegūta no WITH klauzulas priekšraksta.

Piezīme: Kad tiek izpildīts vaicājums ar klauzulu WITH, vispirms tiek novērtēts klauzulā minētais vaicājums un šī novērtējuma izvade tiek saglabāta pagaidu relācijā. Pēc tam beidzot tiek izpildīts galvenais vaicājums, kas saistīts ar klauzulu WITH, kas izmantotu izveidoto pagaidu relāciju.

Vaicājumi

1. piemērs: Atrodiet visu darbinieku, kura alga ir lielāka par visu darbinieku vidējo algu.
Sakarības nosaukums: Darbinieks

Darbinieka ID Vārds Alga
100011 Smits 50 000
100022 Bils 94 000
100027 Viņš pats 70550
100845 Valdens 80 000
115585 Ēriks 60 000
1100070 Keita 69 000

SQL vaicājums:

SQL | AR klauzulu