sql >> Database teknologi >  >> RDS >> Oracle

Tabel Variable Style Entities i Oracle

Nogle svar kan fortælle dig, at Oracle har tabelvariabler, og det gør det til en vis grad. De fleste svar vil dog fortælle dig, at du slet ikke burde gøre dette i Oracle; det er simpelthen ikke nødvendigt.

I dit tilfælde ville jeg blot bruge en CTE:

with users as (
    select 1001 as ID, 'Bob' as Name, 25 as Age, 'M' as Gender from dual
    union
    select 1021 as ID, 'Sam' as Name, 29 as Age, 'F' from dual
          )
 , grades as (
    select 1001 as UserID , 120 as ClassID, 4 as Grade from dual
    Union
    select 1001 as UserID , 220 as ClassID, 2 as Grade from dual
    Union
    select 1021 as UserID , 130 as ClassID, 4 as Grade from dual
    Union
    select 1021 as UserID , 230 as ClassID, 4 as Grade from dual
    Union
    select 1021 as UserID , 340 as ClassID, 2 as Grade from dual
           )
select u.ID, u.Name, AVG(g.grade) as gpa
  from users u
  join grades g on u.ID = g.UserID
 group by u.ID, u.Name

OPDATERING:Det svar, jeg har forsøgt at få i lang tid, er i Bens kommentar nedenfor, som jeg inkluderer her:"Der er ingen variabel, som du kan oprette på farten og forbinde til andre tabeller i standard SQL @wcm, ja Der er en række forskellige typer objekter, der kan oprettes, som giver dig mulighed for at gøre dette, men ikke nøjagtigt, som du ville gøre i T-SQL."



  1. Sådan får du brugere fra en eksisterende database til identityServer4

  2. Hvordan FOR XML PATH('') virker ved sammenkædning af rækker

  3. Sådan beregnes margin i MySQL

  4. Valg af hyppigheden af ​​et resultat, der kan vises i flere kolonner (SQL)