それが音楽サイトで、1000 曲あると想像してください。ユーザーは曲を「お気に入り」にできます。これは、memberID と songID を使用してルックアップ テーブルに保存されます。
次に、特定のユーザーのお気に入りをすべての曲のリストの一番上に表示したいと考えています。
SELECT s.*, s.songID theSongID, f.*
FROM su_songs AS s
left JOIN su_member_favourites_lookup AS f
ON f.songID = s.songID
ORDER by f.songID IS NULL, s.songTitle ASC
...すべてのお気に入りを上部に表示するように機能します。しかし、ログインしたユーザーのお気に入りと、その下にある他のすべての曲を表示したいだけです
SELECT s.*, s.songID theSongID, f.*
FROM su_songs AS s
left JOIN su_member_favourites_lookup AS f
ON f.songID = s.songID
WHERE memberID = " . $memberID . "
ORDER by f.songID IS NULL, s.songTitle ASC
...WHERE句を追加してユーザーに一致させると、ユーザーのお気に入りのみが表示され、残りの曲は除外されます。