當我們向數據庫請求信息時,通常是以問題的形式或者一個隱含問題的語句形式。比如,我們可以這樣公式化語句:
"Which cities do our customers live in?"
"Show me a current list of our employees and their phone numbers."
"What kind of classes do we currently offer?"
"Give me the names of the folks on our staff and the dates they were hired." |
在我們明確了問題之后,我們可以將我們的請求翻譯成更正式的語句。我們可以使用這種形式來組成語句:
Select <item> from the <source> |
首先查看請求及其替代其中諸如“list”、“show me”、“what”、“which”和“who”以及詞“Select”的單詞或短語。接著,確定請求中的所有名詞,并確定指定的名詞是否代表我們想要的一項信息、或者可能存儲該項信息的表的名稱。如果它是一項信息,那么就用它替代翻譯的語句中的<item>。如果它是一個表名稱,那么就用它替代<source>。如果對前面列舉的第一個問題進行翻譯,那么語句看起來是這樣的:
Select city from the customers table |
在我們定義了翻譯語句之后,我們需要使用如圖4-4顯示的SQL句法將它轉換成一個完全的SELECT語句,然而,這一步就要清理之前翻譯的語句。我們可以刪除任何不是代表字段或者表的名稱、或者不是特定用于SQL句法中的名詞。在清理過后,翻譯語句是這樣的:
Select city from customers |
刪除了之后,我們現在有了一個完整的SELECT語句。
SELECT City FROM Customers |

圖4-4 簡單SELECT語句的語法
我們可以對發送到數據庫上的任何請求使用我們剛剛提出的三個步驟的技巧。事實上,我們會在這本書的大多地方都使用了這個技巧。并且,我們建議你在剛開始學習如何創建立這些語句時使用它。然而,隨著對撰寫SELECT語句越來越熟悉,你最后將會把這些步驟融會貫通。
在我們定義了翻譯語句之后,我們需要使用如圖4-4顯示的SQL句法將它轉換成一個完全的SELECT語句,然而,這一步就要清理之前翻譯的語句。我們可以刪除任何不是代表字段或者表的名稱、或者不是特定用于SQL句法中的名詞。在清理過后,翻譯語句是這樣的:
Select city from customers |
刪除了之后,我們現在有了一個完整的SELECT語句。
SELECT City FROM Customers |
我們可以對發送到數據庫上的任何請求使用我們剛剛提出的三個步驟的技巧。事實上,我們會在這本書的大多地方都使用了這個技巧。并且,我們建議你在剛開始學習如何創建立這些語句時使用它。然而,隨著對撰寫SELECT語句越來越熟悉,你最后將會把這些步驟融會貫通。