Alles samenbrengen
In deze oefening ga je de tabellen film en category gebruiken om een nieuw veld film_category te maken door de categorienaam name te concateneren met de title van de film. Je oefent ook hoe je tekstvelden, zoals de kolom description in de tabel film, kunt inkorten zonder een woord door te snijden.
Om dit te doen gebruiken we de functie REVERSE() om de positie te bepalen van het laatste witruimte-teken in de description voordat we 50 tekens bereiken. Deze techniek kun je gebruiken om de positie te bepalen van het laatste teken waarop je wilt afkappen, en om te garanderen dat het minder dan of gelijk aan 50 tekens is EN geen woord afbreekt.
Dit is een geavanceerde techniek, maar ik weet dat je het kunt! Laten we erin duiken.
Deze oefening maakt deel uit van de cursus
Functies voor het manipuleren van data in PostgreSQL
Oefeninstructies
- Haal de eerste 50 tekens op van de kolom
description - Bepaal de positie van het laatste witruimte-teken in de ingekorte kolom
descriptionen trek dit af van het getal 50 als de tweede parameter in de eerste functie hierboven.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
SELECT
UPPER(c.name) || ': ' || f.title AS film_category,
-- Truncate the description without cutting off a word
___(description, 50 -
-- Subtract the position of the first whitespace character
___(
' ' IN REVERSE(LEFT(description, 50))
)
)
FROM
film AS f
INNER JOIN film_category AS fc
ON f.film_id = fc.film_id
INNER JOIN category AS c
ON fc.category_id = c.category_id;