Sometimes you need your resultset sorted a particular way and using the primary key doesn’t accomplish what you need. One way to get around this is to create a sortable column dynamically in your query using the CASE function.
SELECT name, title, priority =(CASE titlewhen 'President' then 1 when 'Vice President' then 2 when'Secretary' then 3when 'Treasurer' then 4end)FROM executiveORDER BY priority
In this example, I give each title a priority and sort by it. This could have been accomplished using a second table and joining to it but why do that if you don’t need to?