日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

MySQL WHERE語句(六)

 

在本教程中,我們將學習如何在SELECT語句中使用MySQL WHERE子句來過濾結果集中的行記錄。

1. MySQL WHERE子句簡介

如果使用SELECT語句但不使用WHERE子句在表中查詢數據,則會獲取表中的所有行記錄,這些行記錄中大部分是不想要的行記錄。例如,在一些表中存放商業交易中的數據。 從這些表中獲取所有行,尤其是對于諸如員工,銷售訂單,采購訂單,生產訂單等的大型表格來說,這是沒有意義的,因為我們經常想要的是一些特定的數據,例如本季度的銷售額 ,今年銷量比去年同期的銷量等等。

WHERE子句允許根據指定的過濾表達式或條件來指定要選擇的行。

您還將學習如何使用LIMIT子句來限制SELECT語句返回的行數。

2. MySQL WHERE子句示例

我們將繼續使用示例數據庫(yiibaidb)中employees表中的數據,如下圖所示。

假設只想從employees表中獲取銷售代表員工,可使用以下查詢:

SELECT 
 lastname, firstname, jobtitle
FROM
 employees
WHERE
 jobtitle = 'Sales Rep';
SQL

執行上面查詢,得到以下結果 -

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
Shell

即使WHERE子句出現在語句的末尾,但MySQL會首先使用WHERE子句中的表達式來選擇匹配的行。它選擇具有職位名稱為銷售代表的行記錄。

jobtitle = 'Sales Rep';
Shell

MySQL從SELECT子句中的選擇列表中選擇列。

可以像上面的查詢一樣形成一個簡單的條件,或者是將多個表達式與邏輯運算符(如AND,OR等)組合在一起的一個非常復雜的例子。例如,要在辦公室代碼(officeCode)等于1中查找所有銷售代表,請使用以下查詢:

SELECT 
 lastname, firstname, jobtitle
FROM
 employees
WHERE
 jobtitle = 'Sales Rep' AND officeCode = 1;
SQL

執行上面查詢后,得到以下結果 -

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
Shell

下表列出了可用于在WHERE子句中形成過濾表達式的比較運算符。

操作符 描述 = 等于,幾乎任何數據類型都可以使用它。 <> 或 != 不等于 < 小于,通常使用數字和日期/時間數據類型。 > 大于, <= 小于或等于 >= 大于或等于 以下查詢使用不等于(!=)運算符來獲取不是銷售代表的其它所有員工:

SELECT 
 lastname, firstname, jobtitle
FROM
 employees
WHERE
 jobtitle <> 'Sales Rep';
Shell

執行上面查詢語句, 得到以下結果 -

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
Shell

以下查詢將獲得辦公室代碼大于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
SQL

辦公室代碼小于或等于4(<= 4)的員工呢?

SELECT 
 lastname, firstname, officeCode
FROM
 employees
WHERE officecode <= 4;
SQL

執行上面查詢語句, 得到以下結果 -

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
Shell

更多關于MySQL WHERE子句…

還有一些有用的運算符可以在WHERE子句中使用來形成復雜的條件,例如:

  • BETWEEN選擇在給定范圍值內的值。
  • LIKE匹配基于模式匹配的值。
  • IN指定值是否匹配列表中的任何值。
  • IS NULL檢查該值是否為NULL。

在本教程中,我們學習了如何使用MySQL WHERE子句來根據條件過濾行記錄。

分享到:
標簽:MySQL
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定