4.4.1 Select-operator: selecteren van rijen Flashcards

1
Q

Geef het nummer en de naam van de medewerkers.

A

SELECT mnr, naam
FROM medewerkers;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

In welke locaties zijn er afdelingen gevestigd?

A

SELECT DISTINCT locatie
FROM afdelingen;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Geef de code en de omschrijving van elke cursus.

A

SELECT code, omschrijving
FROM cursussen;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Geef de naam en functie van alle medewerkers die verkoper zijn.

A

SELECT naam, functie
FROM medewerkers
WHERE functie = ‘VERKOPER’;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Geef de naam en functie van alle medewerkers die geen boekhouders zijn.

A

SELECT naam, functie
FROM medewerkers
WHERE functie != ‘BOEKHOUDER’;

SELECT naam, functie
FROM medewerkers
WHERE functie <> ‘BOEKHOUDER’;

SELECT naam, functie
FROM medewerkers
WHERE NOT functie = ‘BOEKHOUDER’;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Geef alle medewerkers die meer dan €5000 verdienen en geen manager zijn.

A

SELECT voorn, naam
FROM medewerkers
WHERE (maandsal > 5000) AND (functie != ‘MANAGER’);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Welke medewerkers verdienen minder dan €2500?

A

SELECT voorn, naam, maandsal
FROM medewerkers
WHERE (maandsal < 2500);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Geef de naam van de afdeling waarvan medewerker 7698 de baas is.

A

SELECT naam
FROM afdelingen
WHERE hoofd = 7698;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Geef de verschillende functies van de medewerkers in de onderneming.

A

SELECT DISTINCT functie
FROM medewerkers;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Geef het nummer en de naam van elke medewerker die trainer is.

A

SELECT mnr, naam
FROM medewerkers
WHERE functie = ‘TRAINER’;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Geef de naam, de functie en het salaris van elke medewerker die in
afdeling 30 werkt en meer dan €2500 verdient.

A

SELECT naam, functie, maandsal AS salaris
FROM medewerkers
WHERE afd = 30 AND maandsal > 2500;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Geef de locatie van de afdeling die door medewerker 7566 geleid wordt.

A

SELECT locatie
FROM afdelingen
WHERE hoofd = 7566;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Geef de namen van de medewerkers die in afdeling 10 of 20 werken.

A

SELECT naam
FROM medewerkers
WHERE afd IN (10, 20);

SELECT naam
FROM medewerkers
WHERE afd = 10 OR afd = 20;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Geef van elke medewerker de naam en jaarsalaris (incl. commissie).

A

SELECT naam, (maandsal*12 + NVL(comm, 0)) AS jaarsalaris
FROM medewerkers;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Geef de namen van de medewerkers wiens naam eindigt op ‘N’.

A

SELECT naam
FROM medewerkers
WHERE naam LIKE ‘%N’;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Geef de namen van alle medewerkers waarin een dubbele ‘o’ voorkomt.

A

SELECT naam
FROM medewerkers
WHERE naam LIKE ‘%OO%’;

17
Q

Alle medewerkers krijgen een opslag van 10%.
Geef een lijst waarop de naam van de medewerkers staat,
zijn huidig salaris en zijn toekomstig salaris.
Zorg voor verzorgde attribuut koppen in een realistisch formaat!

A

SELECT naam AS “Naam”, maandsal AS “Huidig salaris”, (maandsal*1.1) AS “Toekomstig salaris”
FROM medewerkers;

18
Q

Geef de namen en het salaris van de medewerkers van groot naar
klein gesorteerd op salaris.

A

SELECT naam, maandsal
FROM medewerkers
ORDER BY maandsal DESC;

19
Q

Geef de namen en het salaris van alle medewerkers die tussen
de €2000 en €4000 verdienen, maar niet gelijk is aan €3850, noch aan €2600.
Druk het resultaat volgens dalend salaris af.
Kortste manier:

A

select naam, maandsal
from medewerkers
where maandsal between 2000 and 4000
and maandsal not in (2600, 3850)
order by maandsal desc;

select naam, maandsal
from medewerkers
where maandsal between 2000 and 4000
and maandsal != 3850 and maandsal != 2600
order by maandsal desc;

select naam, maandsal
from medewerkers
where maandsal >= 2000 and maandsal <= 4000
and maandsal != 3850 and maandsal != 2600
order by maandsal desc;

20
Q

Geef de namen en het salaris van de medewerkers,
gesorteerd op functie en binnen de functie op naam.

A

SELECT naam, functie, maandsal
FROM medewerkers
ORDER BY functie, naam;

21
Q

Bepaal het jaarlijks inkomen van elke medewerker.
Los de null-problematiek op dmv de CASE-expressie.

A

select naam, maandsal * 12 +
(case
when comm is NULL then 0
else comm
end) as jaarsalaris
from medewerkers;

select naam, maandsal * 12 + nvl(comm, 0) as jaarsalaris
from medewerkers;