假設table1
有3個屬性:first_name
,last_name
和country
。例如具有下列元組:基於where條件訂購結果
John White Canada
John Smith France
Mary Smith Canada
Ben Smith Canada
Mary Black USA
我尋找那些有名字,「約翰」,還是姓「史密斯」或國家「US」:
SELECT *
FROM table1
WHERE
first_name='John' or
last_name='smith' or
country='US'
我想按照以下順序得到結果: 首先那些帶有名字的約翰,那些帶有姓氏史密斯的人,並且最後那些帶有國家的美國人
我知道我可以編寫以下3個不同的查詢,然後使用它們的輸出按我想要的順序:
SELECT *
FROM table1
WHERE first_name='John'
SELECT *
FROM table1
WHERE last_name='smith'
SELECT *
FROM table1
WHERE country='US'
我在尋找更好的方法。
問題1:如果我使用提到的3個查詢並找到他們的聯合,順序會改變,對嗎?如果是,我該如何追加結果?
問題2:有沒有更好的方法?