- MariaDB必知必會
- (美)Ben Forta
- 501字
- 2020-10-30 18:17:39
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的信息。)
推薦閱讀
- Web應用系統開發實踐(C#)
- Mastering OpenCV Android Application Programming
- C# Programming Cookbook
- Mastering phpMyAdmin 3.4 for Effective MySQL Management
- 實戰Java程序設計
- Neo4j Essentials
- 深入淺出Android Jetpack
- Visual Basic程序設計習題解答與上機指導
- Scala編程實戰(原書第2版)
- Getting Started with Laravel 4
- Creating Mobile Apps with jQuery Mobile(Second Edition)
- 軟件測試實用教程
- 軟件體系結構
- HTML5+CSS3+JavaScript 從入門到項目實踐(超值版)
- Building Clouds with Windows Azure Pack