2015-11-03 23 views
0

在這個例子中,從http://www.w3schools.com/sql/sql_and_or.aspSQL和運營商在搜索欄選擇

SELECT * 
FROM Customers 
WHERE Country='Germany' 
AND City='Berlin'; 

您可以搜索時多個項目,某些列下上市。如果您想搜索特定列下的內容以及何時選擇某個列,代碼會是什麼?例如,在所附的例子中,我們想知道國家何時是德國,並且選擇「國家」(而不是城市)。

+1

這將是相同的 - 你'SELECT'的列與'WHERE'子句沒有任何關係。在上面的例子中,選擇了* all *列。或者那不是你的意思? – Kenney

+1

*當某一列被選中時,*表示特定列*下和*表示什麼意思*? – HubertL

+0

這並不是說這個城市在這個例子中被選中,而是來自Customers客戶表的所有列('*')都會返回,只要'Country'列是'Germany'**和** 「城市」專欄是「柏林」。 – Kenney

回答

-1

在SQL請求中,SELECT子句和WHERE子句之間有明顯的區別。

SELECT子句用於決定查詢返回哪些信息。

WHERE子句用於過濾基於操作符將返回的信息(來自select子句)。

所以你的情況,因爲你要知道什麼時候該國是德國當時國內也進入了選擇,你可以簡單地做:

SELECT * FROM Customers WHERE Country='Germany' 

在SQL沒有辦法讓你需要,這應該由負責創建SQL查詢的一段代碼(或您)來處理。

+0

有辦法做他想做的事。請參閱Kenney的答案 – lookslikeanevo

+0

問題還不清楚,Kenney的答案提議者只是重寫SQL查詢以使其對where子句更具可讀性。 我的假設是,他想要的東西,如「如果在選擇條款,然後也在where子句」,並且,必須由一段代碼處理。 – PStember

1

只是爲了澄清,我認爲你誤解了WHERE線:

SELECT * 
FROM Customers 
WHERE Country='Germany' 
AND City='Berlin'; 

的,是其中的一部分。讓我這樣寫吧,也許這樣可以解決問題:

SELECT * 
FROM Customers 
WHERE (
    Country='Germany' 
     AND 
    City='Berlin' 
) 
;