mysql 的 mysql where語句
在本教程中,我們將學習如何在select語句中使用mysql where子句來過濾結果集中的行記錄。
1. mysql where子句簡介
如果使用但不使用where子句在表中查詢資料,則會獲取表中的所有行記錄,這些行記錄中大部分是不想要的行記錄。例如,在一些表中存放商業交易中的資料。 從這些表中獲取所有行,尤其是對於諸如員工,銷售訂單,採購訂單,生產訂單等的大型**來說,這是沒有意義的,因為我們經常想要的是一些特定的資料,例如本季度的銷售額 ,今年銷量比去年同期的銷量等等。
where子句允許根據指定的過濾表示式或條件來指定要選擇的行。
您還將學習如何使用來限制select語句返回的行數。
2. mysql where子句示例
我們將繼續使用中employees表中的資料,如下圖所示。
假設只想從employees表中獲取銷售代表員工,可使用以下查詢:
select
lastname, firstname, jobtitle
from
employees
where
jobtitle = 'sales rep';
執行上面查詢,得到以下結果 -
mysql> select lastname, firstname, jobtitle from employees where jobtitle = 'sales rep';
| lastname | firstname | jobtitle |
| jennings | leslie | sales rep |
| thompson | leslie | sales rep |
| firrelli | julie | sales rep |
| patterson | steve | sales rep |
| tseng | foon yue | sales rep |
| vanauf | george | sales rep |
| bondur | loui | sales rep |
| hernandez | gerard | sales rep |
| castillo | pamela | sales rep |
| bott | larry | sales rep |
| jones | barry | sales rep |
| fixter | andy | sales rep |
| marsh | peter | sales rep |
| king | tom | sales rep |
| nishi | mami | sales rep |
| kato | yoshimi | sales rep |
| gerard | martin | sales rep |
17 rows in set
即使where子句出現在語句的末尾,但mysql會首先使用where子句中的表示式來選擇匹配的行。它選擇具有職位名稱為銷售代表的行記錄。
jobtitle = 'sales rep';
mysql從select子句中的選擇列表中選擇列。
可以像上面的查詢一樣形成乙個簡單的條件,或者是將多個表示式與邏輯運算子(如and,or等)組合在一起的乙個非常複雜的例子。例如,要在辦公室**(officecode)等於1中查詢所有銷售代表,請使用以下查詢:
select
lastname, firstname, jobtitle
from
employees
where
jobtitle = 'sales rep' and officecode = 1;
執行上面查詢後,得到以下結果 -
mysql> select lastname, firstname, jobtitle from employees where jobtitle = 'sales rep' and officecode = 1;
| lastname | firstname | jobtitle |
| jennings | leslie | sales rep |
| thompson | leslie | sales rep |
2 rows in set
下表列出了可用於在where子句中形成過濾表示式的比較運算子。
操作符描述
等於,幾乎任何資料型別都可以使用它。
<> 或 !=
不等於小於,通常使用數字和日期/時間資料型別。
大於,小於或等於
大於或等於
以下查詢使用不等於(!=)運算子來獲取不是銷售代表的其它所有員工:
select
lastname, firstname, jobtitle
from
employees
where
jobtitle <> 'sales rep';
執行上面查詢語句, 得到以下結果 -
mysql> select lastname, firstname, jobtitle from employees where jobtitle <> 'sales rep';
| lastname | firstname | jobtitle |
| murphy | diane | president |
| patterson | mary | vp sales |
| firrelli | jeff | vp marketing |
| patterson | william | sales manager (apac) |
| bondur | gerard | sale manager (emea) |
| bow | anthony | sales manager (na) |
6 rows in set
以下查詢將獲得辦公室**大於5的每位員工:
mysql> select lastname, firstname, officecode from employees where officecode > 5;
| lastname | firstname | officecode |
| patterson | william | 6 |
| bott | larry | 7 |
| jones | barry | 7 |
| fixter | andy | 6 |
| marsh | peter | 6 |
| king | tom | 6 |
6 rows in set
辦公室**小於或等於4(<= 4)的員工呢?
select
lastname, firstname, officecode
from
employees
where officecode <= 4;
執行上面查詢語句, 得到以下結果 -
mysql> select lastname, firstname, officecode from employees where officecode <= 4;
| lastname | firstname | officecode |
| murphy | diane | 1 |
| patterson | mary | 1 |
| firrelli | jeff | 1 |
| bondur | gerard | 4 |
| bow | anthony | 1 |
| jennings | leslie | 1 |
| thompson | leslie | 1 |
| firrelli | julie | 2 |
| patterson | steve | 2 |
| tseng | foon yue | 3 |
| vanauf | george | 3 |
| bondur | loui | 4 |
| hernandez | gerard | 4 |
| castillo | pamela | 4 |
| gerard | martin | 4 |
15 rows in set
更多關於mysql where子句…
還有一些有用的運算子可以在where子句中使用來形成複雜的條件,例如:
選擇在給定範圍值內的值。
匹配基於模式匹配的值。
指定值是否匹配列表中的任何值。
is null檢查該值是否為null。
在本教程中,我們學習了如何使用mysql where子句來根據條件過濾行記錄。
w3c mysql儲存好過程 MySQL儲存過程
mysql 的 mysql儲存過程 在本節中,您將逐步學習如何在mysql中編寫和開發儲存過程。首先,我們向您,並討論何時使用它。然後,展示如何使用過程 的基本元素,如,下面每個教程都包含了易於理解的示例和詳細的說明。如果您瀏覽並學習所有教程,您可以開發mysql中由簡單到複雜的儲存過程。1.mys...
mysql精度語句 MySQL語句(3)
int型別修飾符 unsigned 無符號整數,修飾符 規定字段只能儲存正的資料。它可以增大這個欄位的正數支援的範圍。zerofill 修飾符 規定0 不是空格 填補輸出的值。使用這個值可以防止 mysql儲存負值。注意 int m 在 integer 資料型別中,m 表示最大顯示寬度。在 int ...
sql 基本語句(摘自w3c school)
select select 列名稱 from 表名稱 select from 表名稱 select lastname,firstname from persons insert insert into 表名稱 values 值1,值2,insert into table name 列1,列2,val...