Ga naar inhoud

Header

Logica toepassen met CASE - Opdrachten

1. Categoriseren van acteurs op basis van geslacht

Maak de volgende query af om met CASE een kolom toe te voegen.

In deze kolom moet de volledige naam van een geslacht staan.

Dus bijvoorbeeld female in geval van geslacht F.

  • Gebruik CASE, WHEN, THEN, ELSE en END.
  • Scenario's:
    • Als geslacht man ('M'): 'male'.
    • Als geslacht vrouw ('F'): 'female'.
SELECT
  *,
  ...
    ... .. = '...' THEN '...'
    WHEN ...
    ... ...
  END
FROM
  actors;




2. Geef een naam aan de nieuwe kolom

In de code uit de vorige vraag heb je de nieuwe kolom geen specifieke naam gegeven.

Hierdoor krijgt de kolom standaard de naam case.

Dit is niet zo duidelijk.

Hergebruik je code uit de vorige vraag, en geef de nieuwe kolom de naam gender_category.

  • Maak gebruik van AS <column_name>.
...




3. Categoriseren op basis van aantal films

Acteurs hebben in verschillende aantallen films gespeeld.

Middels een CASE vergelijking gaan we hier onderscheid in maken.

We gaan een kolom toevoegen die afhankelijk van het aantal films (kolom film_count) waarin een acteur speelt een waarde krijgt.

  • Gebruik CASE, WHEN, THEN, ELSE en END.
  • Scenario's:
    • Als aantal gelijk is aan 1: 'one movie'.
    • Anders: 'multiple movies'.
  • Geef met AS de nieuwe kolom een specifieke naam: film_count_category.
SELECT
  *,
  ...
    ...
    ELSE ...
  ...
FROM
  actors;




4. Categoriseren op basis van lengte van achternaam

Acteurs hebben verschillende achternamen van verschillende lengtes.

Middels een CASE vergelijking gaan we hier onderscheid in maken.

We gaan een kolom toevoegen die afhankelijk van de lengte van de achternaam (kolom last_name) een waarde krijgt.

  • Gebruik CASE, WHEN, THEN, ELSE en END.
  • Scenario's:
    • Als een achternaam uit meer dan 5 karakters bestaat: 'long last name'.
    • Anders: 'short last name'.
  • Maak gebruik van de LENGTH() functie.
  • Geef met AS de nieuwe kolom een specifieke naam: last_name_length_category.
SELECT
  *,
  CASE
    WHEN ...(last_name) ...
    ...
 ...
FROM
  actors;




5. (Extra) Ophalen van data uit een kolom

Schrijf een query waarmee je een kolom toevoegt die de acteurs op basis van geslacht en aantal films categoriseert.

  • Noem de nieuwe kolom actor_category.
  • Scenario's:
    • Als man en in 1 film gespeeld: 'male, one movie'.
    • Als man en in meerdere films gespeeld: 'male, multiple movies'.
    • Als vrouw en in 1 film gespeeld: 'female, one movie'.
    • Als vrouw en in meerdere films gespeeld: 'female, multiple movies'.
    • In andere gevallen: other
  • Selecteer naast de nieuwe kolom alleen kolommen id, first_name en last_name.
...