2011-04-25 61 views
1

如果我有以下關係簡單的SQL排序問題

工作人員(staffNo(PK),FNAME,LNAME,地位,性別,出生日期)

我將如何去寫它生產列表的查詢所有女性工作人員的所有細節都是以他們的第二個名字命名的,然後是他們的名字?

我的猜測是:

SELECT * FROM員工ORDER BY ASC FNAME,LNAME ASC WHERE性別= 'F'

這是正確的嗎?

回答

2
SELECT * FROM staff WHERE sex = 'F' ORDER BY lName ASC, fName ASC 

你有FNAME和LNAME以錯誤的方式,和你的ORDER BY來後WHERE

+0

太棒了!不能相信我讓他們錯了! – user559142 2011-04-25 14:06:31

+0

因此,仍然會保持姓氏的排序...即使我們在 – user559142 2011-04-25 14:11:16

+0

之後重新排列名字。 'ORDER BY'將按照您指定的方向排列第一列的結果,然後使用您指定的第二列來解析「關係」,依此類推 – HopefullyHelpful 2011-04-25 14:12:41

3

那麼,你可以試試這個,看看這是否是正確的:)

,但是你應該換條,其中謂詞順序,排序謂詞,以及:如果你想在最後名稱排序首先 - 您應該按順序首先指定姓氏。

+1

還掉FNAME和LNAME(假設F =第一和l =最後)按順序排列。 – 2011-04-25 14:03:11

+2

@Jon Egerton是的,你一直在這裏:) – andr 2011-04-25 14:04:32

1

嘗試此查詢:

SELECT * FROM Staff WHERE sex = 'f' order by lName, fName;