Udfordring: Medarbejdere Med Mere End Gennemsnitlig Løn
Når en subquery er skrevet i WHERE
sektionen, kan vi bruge IN
operatoren og comparison operators
:
sql9123SELECT column1, ...FROM tableWHERE column1 > (SELECT AGG(column2) FROM table)
Opgave
Swipe to start coding
Find medarbejdere hvis salary
er over gennemsnitslønnen for alle medarbejdere ved hjælp af en underforespørgsel i WHERE
sektionen.
Den resulterende tabel skal have 3 kolonner: first_name
, last_name
, og salary
. Sorter derefter resultatet efter løn fra højeste til laveste ved hjælp af ORDER BY
.
Note
Denne syntaks kan bruges som et godt alternativ til
HAVING
klausulen.
Korte instruktioner
- Hent
first_name
,last_name
, ogsalary
kolonnerne fraemployees
tabellen. - I
WHERE
klausulen, brug en indre forespørgsel med syntaksensalary > [inner query]
. - I den indre forespørgsel, få gennemsnitsværdien af
salary
kolonnen fraemployees
tabellen. - Sorter resultaterne efter
salary
i faldende rækkefølge.
Løsning
9
1
2
3
4
SELECT first_name, last_name, salary
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees)
ORDER BY salary DESC;
Var alt klart?
Tak for dine kommentarer!
Sektion 2. Kapitel 4
9
1
No query executed yet... |
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat