官术网_书友最值得收藏!

6.1 WHERE子句

數據庫通常包含大量數據,你很少需要檢索表中所有行。通常,你想要為特定的操作或者報表,從表數據中提取出子集。僅僅檢索你想要的數據牽涉搜索條件(search criteria),也就是過濾條件(filter condition)。

在SELECT語句中,可通過WHERE子句指定搜索條件來過濾數據。WHERE子句在表名(FROM子句)之后指定,如下:

▼ 輸入

▼ 分析

這條語句從products表中檢索出兩列,沒有返回所有行,而是返回prod_price值為2.50的行。如下:

▼ 輸出

這個例子使用了一個簡單的相等測試:它檢查某列是否有指定的值,并且依此過濾數據。然而SQL可以讓你做的事比相等測試更多。

提示

SQL和應用程序過濾 數據也可以在應用程序的層面上過濾。為此,SQL的SELECT語句為客戶端應用提供比實際需求更多的檢索數據,之后客戶端代碼循環讀取返回的數據來提取需要的行。

一般地,我們不推薦以上做法。由于數據庫已經優化,在執行過濾時既快速又高效。讓客戶端應用(或者開發語言)完成數據庫的工作會影響應用的性能并且讓應用不能很好地擴展。此外,如果數據在客戶端過濾,服務器不得不通過網絡連接發送不需要的數據,導致網絡帶寬資源的浪費。

警告

WHERE子句的位置 當同時使用ORDERBY和WHERE子句時,確保ORDERBY子句跟在WHERE子句之后;否則,會產生錯誤。(見第5章獲取更多使用ORDERBY的信息。)

主站蜘蛛池模板: 池州市| 旅游| 乐平市| 彭山县| 岳西县| 如东县| 建德市| 稻城县| 桐庐县| 巨鹿县| 加查县| 新昌县| 永川市| 霍邱县| 靖江市| 蒙阴县| 宜宾县| 虹口区| 西丰县| 桦甸市| 鹿邑县| 浮山县| 洪雅县| 江都市| 松阳县| 炉霍县| 宣汉县| 石城县| 治多县| 锦屏县| 信宜市| 塔城市| 罗平县| 鸡西市| 龙州县| 宜兰县| 方正县| 贵溪市| 洛宁县| 绿春县| 朔州市|