Das mit % ist mir unbekannt. Ich habe gelesen, dass * für beliebig viele Zeichen steht. Wofür steht hier dann % und warum kann man * nicht verwenden in der Aufgabe 2c.
Wie bereits erwähnt, sind bei "normalen" Abfragen % und _ korrekt. Das * kann bei Oracle und MySQL für reguläre Ausdrücke verwendet werden und erfüllt dann die oben erwähnte Aufgabe.