mysql語句w3c MySQL WHERE語句

2021-10-17 17:59:59 字數 4251 閱讀 8465

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...