Avec une requête Join comme celle-ci, j'ai les mêmes résultats et ça marche :) Je ne sais toujours pas pourquoi les requêtes imbriquées ont pris jusqu'à 40 à 50 secondes. Merci à l'utilisateur Dibakar Paul qui m'a aidé !
$sql1 = "Select distinct title, artist, album
from songs where id not in(Select distinct song.id
from songs song inner join playlist playlist
on playlist.song_id=song.id
inner join playlists playlists
on playlists.playlist_id=playlist.playlist_id
and playlists.name = '$playlist_name')";
$sql2 = "Select distinct song.title, song.artist, song.album
from songs song inner join playlist playlist
on playlist.song_id=song.id
inner join playlists playlists
on playlists.playlist_id=playlist.playlist_id
and playlists.name = '$playlist_name'";