日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

SQL 谓词简介

發布時間:2023/12/29 综合教程 45 生活家
生活随笔 收集整理的這篇文章主要介紹了 SQL 谓词简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄一、什么是謂詞二、LIKE 謂詞——字符串的部分一致查詢2.1 前方一致查詢2.2 中間一致查詢2.3 后方一致查詢三、BETWEEN 謂詞——范圍查詢四、IS NULL、IS NOT NULL——判斷是否為 NULL五、IN 謂詞——OR 的簡便用法六、使用子查詢作為 IN 謂詞的參數6.1 IN 和子查詢6.2 NOT IN 和子查詢七、EXISTS 謂詞7.1 EXISTS 謂詞的使用方法7.1.1 EXISTS 的參數7.1.2 子查詢中的 SELECT *7.1.3 使用 NOT EXISTS 替換 NOT IN請參閱

學習重點

謂詞就是返回值為真值的函數。

掌握 LIKE 的三種使用方法(前方一致、中間一致、后方一致)。

需要注意 BETWEEN 包含三個參數。

想要取得 NULL 數據時必須使用 IS NULL

可以將子查詢作為 INEXISTS 的參數。

一、什么是謂詞

本文將會和大家一起學習 SQL 的抽出條件中不可或缺的工具——謂詞(predicate)。雖然之前我們沒有提及謂詞這個概念,但其實大家已經使用過了。例如,=<><> 等比較運算符,其正式的名稱就是比較謂詞。

KEYWORD

謂詞

通俗來講謂詞就是 各種各樣的函數 中介紹的函數中的一種,是需要滿足特定條件的函數,該條件就是返回值是真值。對通常的函數來說,返回值有可能是數字、字符串或者日期等,但是謂詞的返回值全都是真值(TRUE/FALSE/UNKNOWN)。這也是謂詞和函數的最大區別。

本文將會介紹以下謂詞。

LIKE

BETWEEN

IS NULL、IS NOT NULL

IN

EXISTS

二、LIKE 謂詞——字符串的部分一致查詢

截至目前,我們使用字符串作為查詢條件的例子中使用的都是 =。這里的 = 只有在字符串完全一致時才為真。與之相反,LIKE 謂詞更加模糊一些,當需要進行字符串的部分一致查詢時需要使用該謂詞。

KEYWORD

LIKE 謂詞

部分一致查詢

部分一致大體可以分為前方一致、中間一致和后方一致三種類型。接下來就讓我們來看一看具體示例吧。

首先我們來創建一張表 1 那樣的只有 1 列的表。

表 6-1 SampleLike

strcol(字符串)|
---|---
abcddd |
dddabc |
abdddc |
abcdd |
ddabc |
abddc |

創建上表以及向其中插入數據的 SQL 語句請參考代碼清單 21。

代碼清單 21 創建 SampleLike

-- DDL :創建表
CREATE TABLE SampleLike
( strcol VARCHAR(6) NOT NULL,
  PRIMARY KEY (strcol));

SQL Server PostgreSQL

-- DML :插入數據
BEGIN TRANSACTION; -------①

INSERT INTO SampleLike (strcol) VALUES ('abcddd');
INSERT INTO SampleLike (strcol) VALUES ('dddabc');
INSERT INTO SampleLike (strcol) VALUES ('abdddc');
INSERT INTO SampleLike (strcol) VALUES ('abcdd');
INSERT INTO SampleLike (strcol) VALUES ('ddabc');
INSERT INTO SampleLike (strcol) VALUES ('abddc');

COMMIT;

特定的 SQL

不同的 DBMS 事務處理的語法也不盡相同。代碼清單 21 中的 DML 語句在 MySQL 中執行時,需要將 ① 部分更改為“START TRANSACTION;”,在 Oracle 和 DB2 中執行時,無需用到 ① 的部分(請刪除)。

詳細內容請大家參考 事務 中的“創建事務”。

想要從該表中讀取出包含字符串“ddd”的記錄時,可能會得到前方一致、中間一致和后方一致等不同的結果。

前方一致:選取出“dddabc

所謂前方一致,就是選取出作為查詢條件的字符串(這里是“ddd”)與查詢對象字符串起始部分相同的記錄的查詢方法。

中間一致:選取出“abcddd”“dddabc”“abdddc

所謂中間一致,就是選取出查詢對象字符串中含有作為查詢條件的字符串(這里是“ddd”)的記錄的查詢方法。無論該字符串出現在對象字符串的最后還是中間都沒有關系。

后方一致:選取出“abcddd

后方一致與前方一致相反,也就是選取出作為查詢條件的字符串(這里是“ddd”)與查詢對象字符串的末尾部分相同的記錄的查詢方法。

KEYWORD

前方一致

中間一致

后方一致

從本例中我們可以看出,查詢條件最寬松,也就是能夠取得最多記錄的是中間一致。這是因為它同時包含前方一致和后方一致的查詢結果。

像這樣不使用“=”來指定條件字符串,而以字符串中是否包含該條件(本例中是“包含 ddd”)的規則為基礎的查詢稱為模式匹配,其中的模式也就是前面提到的“規則”。

KEYWORD

模式匹配

模式

2.1 前方一致查詢

下面讓我們來實際操作一下,對 SampleLike 表進行前方一致查詢(代碼清單 22)。

代碼清單 22 使用 LIKE 進行前方一致查詢

SELECT *
  FROM SampleLike
 WHERE strcol LIKE 'ddd%';

執行結果

 strcol
--------
 dddabc

其中的 % 是代表“0 字符以上的任意字符串”的特殊符號,本例中代表“以 ddd 開頭的所有字符串”。

KEYWORD

%

這樣我們就可以使用 LIKE 和模式匹配來進行查詢了。

2.2 中間一致查詢

接下來讓我們看一個中間一致查詢的例子,查詢出包含字符串“ddd”的記錄(代碼清單 23)。

代碼清單 23 使用 LIKE 進行中間一致查詢

SELECT *
  FROM SampleLike
 WHERE strcol LIKE '%ddd%';

執行結果

 strcol
--------
 abcddd
 dddabc
 abdddc

在字符串的起始和結束位置加上 %,就能取出“包含 ddd 的字符串”了。

2.3 后方一致查詢

最后我們來看一下后方一致查詢,選取出以字符串“ddd”結尾的記錄(代碼清單 24)。

代碼清單 24 使用 LIKE 進行后方一致查詢

SELECT *
  FROM SampleLike
 WHERE strcol LIKE '%ddd';

執行結果

 strcol
--------
 abcddd

大家可以看到上述結果與前方一致正好相反。

此外,我們還可以使用 _(下劃線)來代替 %,與 % 不同的是,它代表了“任意 1 個字符”。下面就讓我們來嘗試一下吧。

KEYWORD

_

使用代碼清單 25 選取出 strcol 列的值為“abc + 任意 2 個字符”的記錄。

代碼清單 25 使用 LIKE_(下劃線)進行前方一致查詢

SELECT *
  FROM SampleLike
 WHERE strcol LIKE 'abc_ _';

執行結果

 strcol
--------
 abcdd

abcddd”也是以“abc”開頭的字符串,但是其中“ddd”是 3 個字符,所以不滿足 __ 所指定的 2 個字符的條件,因此該字符串并不在查詢結果之中。相反,代碼清單 26 中的 SQL 語句就只能取出“abcddd”這個結果。

代碼清單 26 查詢“abc + 任意 3 個字符”的字符串

SELECT *
  FROM SampleLike
 WHERE strcol LIKE 'abc___';

執行結果

 strcol
--------
 abcddd

三、BETWEEN 謂詞——范圍查詢

使用 BETWEEN 可以進行范圍查詢。該謂詞與其他謂詞或者函數的不同之處在于它使用了 3 個參數。例如,從 product(商品)表中讀取出銷售單價(sale_price)為 100 日元到 1000 日元之間的商品時,可以使用代碼清單 27 中的 SQL 語句。

KEYWORD

BETWEEN 謂詞

范圍查詢

代碼清單 27 選取銷售單價為 100 ~ 1000 日元的商品

SELECT product_name, sale_price
  FROM Product
 WHERE sale_price BETWEEN 100 AND 1000;

執行結果

product_name | sale_price
-----------0-+-------------
 T恤衫       |       1000
 打孔器      |        500
 叉子        |        500
 擦菜板      |        880
 圓珠筆      |        100

BETWEEN 的特點就是結果中會包含 100 和 1000 這兩個臨界值。如果不想讓結果中包含臨界值,那就必須使用 <>(代碼清單 28)。

KEYWORD

<

>

代碼清單 28 選取出銷售單價為 101 ~ 999 日元的商品

SELECT product_name, sale_price
  FROM Product
 WHERE sale_price > 100
   AND sale_price < 1000;

執行結果

product_name | sale_price
-------------+-------------
 打孔器      |         500
 叉子        |         500
 擦菜板      |         880

執行結果中不再包含 1000 日元和 100 日元的記錄。

四、IS NULLIS NOT NULL——判斷是否為 NULL

為了選取出某些值為 NULL 的列的數據,不能使用 =,而只能使用特定的謂詞 IS NULL(代碼清單 29)。

KEYWORD

IS NULL 謂詞

代碼清單 29 選取出進貨單價(purchase_price)為 NULL 的商品

SELECT product_name, purchase_price
  FROM Product
 WHERE purchase_price IS NULL;

執行結果

product_name | purchase_price
-------------+-------------
 叉子        |
 圓珠筆      |

與此相反,想要選取 NULL 以外的數據時,需要使用 IS NOT NULL(代碼清單 30)。

KEYWORD

IS NOT NULL 謂詞

代碼清單 30 選取進貨單價(purchase_price)不為 NULL 的商品

SELECT product_name, purchase_price
  FROM Product
 WHERE purchase_price IS NOT NULL;

執行結果

product_name | purchase_price
-------------+---------------
 T恤衫       |            500
 打孔器      |            320
 運動T恤     |           2800
 菜刀        |           2800
 高壓鍋      |           5000
 擦菜板      |            790

五、IN 謂詞——OR 的簡便用法

接下來讓我們思考一下如何選取出進貨單價(purchase_price)為 320 日元、500 日元、5000 日元的商品。這里使用之前學過的 OR 的 SQL 語句,請參考代碼清單 31。

代碼清單 31 通過 OR 指定多個進貨單價進行查詢

SELECT product_name, purchase_price
  FROM Product
 WHERE purchase_price =  320
    OR purchase_price =  500
    OR purchase_price = 5000;

執行結果

product_name | purchase_price
-------------+---------------
 T恤衫       |            500
 打孔器      |            320
 高壓鍋      |           5000

雖然上述方法沒有問題,但還是存在一點不足之處,那就是隨著希望選取的對象越來越多,SQL 語句也會越來越長,閱讀起來也會越來越困難。這時,我們就可以使用代碼清單 32 中的 IN 謂詞IN( 值,……)”來替換上述 SQL 語句。

KEYWORD

IN 謂詞

代碼清單 32 通過 IN 來指定多個進貨單價進行查詢

SELECT product_name, purchase_price
  FROM Product
 WHERE purchase_price IN (320, 500, 5000);

反之,希望選取出“進貨單價不是 320 日元、500 日元、5000 日元”的商品時,可以使用否定形式 NOT IN 來實現(代碼清單 33)。

KEYWORD

NOT IN 謂詞

代碼清單 33 使用 NOT IN 進行查詢時指定多個排除的進貨單價進行查詢

SELECT product_name, purchase_price
  FROM Product
 WHERE purchase_price NOT IN (320, 500, 5000);

執行結果

product_name | purchase_price
-------------+---------------
 運動T恤     |           2800
 菜刀        |           2800
 擦菜板      |            790

但需要注意的是,在使用 INNOT IN 時是無法選取出 NULL 數據的。實際結果也是如此,上述兩組結果中都不包含進貨單價為 NULL 的叉子和圓珠筆。NULL 終究還是需要使用 IS NULLIS NOT NULL 來進行判斷。

六、使用子查詢作為 IN 謂詞的參數

6.1 IN 和子查詢

IN 謂詞(NOT IN 謂詞)具有其他謂詞所沒有的用法,那就是可以使用子查詢作為其參數。我們已經在 子查詢 中學習過了,子查詢就是 SQL 內部生成的表,因此也可以說“能夠將表作為 IN 的參數”。同理,我們還可以說“能夠將 視圖 作為 IN 的參數”。

為了掌握詳細的使用方法,讓我們再添加一張新表。之前我們使用的全都是顯示商品庫存清單的 Product(商品)表,但現實中這些商品可能只在個別的商店中進行銷售。下面我們來創建表 2 ShopProduct(商店商品),顯示出哪些商店銷售哪些商品。

表 2 ShopProduct(商店商品)表

shop_id
(商店)
shop_name
(商店名稱)
product_id
(商品編號)
quantity
(數量)
000A 東京 0001 30
000A 東京 0002 50
000A 東京 0003 15
000B 名古屋 0002 30
000B 名古屋 0003 120
000B 名古屋 0004 20
000B 名古屋 0006 10
000B 名古屋 0007 40
000C 大阪 0003 20
000C 大阪 0004 50
000C 大阪 0006 90
000C 大阪 0007 70
000D 福岡 0001 100

商店和商品組合成為一條記錄。例如,該表顯示出東京店銷售的商品有 0001(T 恤衫)、0002(打孔器)、0003(運動 T 恤)三種。

創建該表的 SQL 語句請參考代碼清單 34。

代碼清單 34 創建 ShopProduct(商店商品)表的 CREATE TABLE 語句

CREATE TABLE ShopProduct
(shop_id    CHAR(4)      NOT NULL,
 shop_name  VARCHAR(200) NOT NULL,
 product_id CHAR(4)      NOT NULL,
 quantity   INTEGER      NOT NULL,
 PRIMARY KEY (shop_id, product_id));

CREATE TABLE 語句的特點是指定了 2 列作為主鍵(primary key)。這樣做當然還是為了區分表中每一行數據,由于單獨使用商店編號(shop_id)或者商品編號(product_id)不能滿足要求,因此需要對商店和商品進行組合。

實際上如果只使用商店編號進行區分,那么指定“000A”作為條件能夠查詢出 3 行數據。而單獨使用商品編號進行區分的話,“0001”也會查詢出 2 行數據,都無法恰當區分每行數據。

下面讓我們來看一下向 ShopProduct 表中插入數據的 INSERT 語句(代碼清單 35)。

代碼清單 35 向 ShopProduct 表中插入數據的 INSERT 語句

SQL Server PostgreSQL

BEGIN TRANSACTION; --------①

INSERT INTO ShopProduct (shop_id, shop_name, product_id, quantity) VALUES ('000A', '東京', '0001', 30);
INSERT INTO ShopProduct (shop_id, shop_name, product_id, quantity) VALUES ('000A', '東京', '0002', 50);
INSERT INTO ShopProduct (shop_id, shop_name, product_id, quantity) VALUES ('000A', '東京', '0003', 15);
INSERT INTO ShopProduct (shop_id, shop_name, product_id, quantity) VALUES ('000B', '名古屋', '0002', 30);
INSERT INTO ShopProduct (shop_id, shop_name, product_id, quantity) VALUES ('000B', '名古屋', '0003', 120);
INSERT INTO ShopProduct (shop_id, shop_name, product_id, quantity) VALUES ('000B', '名古屋', '0004', 20);
INSERT INTO ShopProduct (shop_id, shop_name, product_id, quantity) VALUES ('000B', '名古屋', '0006', 10);
INSERT INTO ShopProduct (shop_id, shop_name, product_id, quantity) VALUES ('000B', '名古屋', '0007', 40);
INSERT INTO ShopProduct (shop_id, shop_name, product_id, quantity) VALUES ('000C', '大阪', '0003', 20);
INSERT INTO ShopProduct (shop_id, shop_name, product_id, quantity) VALUES ('000C', '大阪', '0004', 50);
INSERT INTO ShopProduct (shop_id, shop_name, product_id, quantity) VALUES ('000C', '大阪', '0006', 90);
INSERT INTO ShopProduct (shop_id, shop_name, product_id, quantity) VALUES ('000C', '大阪', '0007', 70);
INSERT INTO ShopProduct (shop_id, shop_name, product_id, quantity) VALUES ('000D', '福岡', '0001', 100);

COMMIT;

特定的 SQL

不同的 DBMS 事務處理的語法也不盡相同。代碼清單 35 在 MySQL 中執行時,需要將 ① 部分更改為“START TRANSACTION;”,在 Oracle 和 DB2 中執行時,無需用到 ① 的部分(請刪除)。

詳細內容請大家參考 事務 中的“創建事務”。

這樣我們就完成了全部準備工作,下面就讓我們來看一看在 IN 謂詞中使用子查詢的 SQL 的寫法吧。

首先讀取出“大阪店(000C)在售商品(product_id)的銷售單價(sale_price)”。

ShopProduct(商店商品)表中大阪店的在售商品很容易就能找出,有如下 4 種。

運動 T 恤(商品編號 :0003)

菜刀(商品編號 :0004)

叉子(商品編號 :0006)

擦菜板(商品編號 :0007)

結果自然也應該是下面這樣。

 product_name | sale_price
--------------+------------
 運動T恤      |       4000
 菜刀         |       3000
 叉子         |        500
 擦菜板       |        880

得到上述結果時,我們應該已經完成了如下兩個步驟。

ShopProduct 表中選取出在大阪店(shop_id = '000C')中銷售的商品(product_id

Product 表中選取出上一步得到的商品(product_id)的銷售單價(sale_price

SQL 也是如此,同樣要分兩步來完成。首先,第一步如下所示。

SELECT product_id
  FROM ShopProduct
 WHERE shop_id = '000C';

因為大阪店的商店編號(shop_id)是“000C”,所以我們可以將其作為條件寫在 WHERE 子句中 [1]。接下來,我們就可以把上述 SELECT 語句作為第二步中的條件來使用了。最終得到的 SELECT 語句請參考代碼清單 36。

代碼清單 36 使用子查詢作為 IN 的參數

-- 取得“在大阪店銷售的商品的銷售單價”
SELECT product_name, sale_price
  FROM Product
 WHERE product_id IN (SELECT product_id
                         FROM ShopProduct
                        WHERE shop_id = '000C');

執行結果

 product_name | sale_price
--------------+------------
 叉子         |        500
 運動T恤      |       4000
 菜刀         |       3000
 擦菜板       |        880

如 子查詢 中的“法則 6”所述,子查詢是從內層開始執行的。因此,該 SELECT 語句也是從內層的子查詢開始執行,然后像下面這樣展開。

-- 子查詢展開后的結果
SELECT product_name, sale_price
  FROM Product
 WHERE product_id IN ('0003', '0004', '0006', '0007');

這樣就轉換成了之前我們學習過的 IN 的使用方法了吧。可能有些讀者會產生這樣的疑問:“既然子查詢展開后得到的結果同樣是('0003','0004','0006','0007'),為什么一定要使用子查詢呢?”

這是因為 ShopProduct(商店商品)表并不是一成不變的。實際上由于各個商店銷售的商品都在不斷發生變化,因此 ShopProduct 表內大阪店銷售的商品也會發生變化。如果 SELECT 語句中沒有使用子查詢的話,一旦商品發生了改變,那么 SELECT 語句也不得不進行修改,而且這樣的修改工作會變得沒完沒了。

反之,如果在 SELECT 語句中使用了子查詢,那么即使數據發生了變更,還可以繼續使用同樣的 SELECT 語句。這樣也就減少了我們的常規作業(單純的重復操作)。

像這樣可以完美應對數據變更的程序稱為“易維護程序”,或者“免維護程序”。這也是系統開發中需要重點考慮的部分。希望大家在開始學習編程時,就能夠有意識地編寫易于維護的代碼。

6.2 NOT IN 和子查詢

IN 的否定形式 NOT IN 同樣可以使用子查詢作為參數,其語法也和 IN 完全一樣。請大家參考代碼清單 37 中的例文。

代碼清單 37 使用子查詢作為 NOT IN 的參數

SELECT product_name, sale_price
  FROM Product
 WHERE product_id NOT IN (SELECT product_id
                             FROM ShopProduct
                           WHERE shop_id = '000A');

本例中的 SQL 語句是要選取出“在東京店(000A)以外銷售的商品(product_id)的銷售單價(sale_price)”,“NOT IN”代表了“以外”這樣的否定含義。

我們也像之前那樣來看一下該 SQL 的執行步驟。因為還是首先執行子查詢,所以會得到如下結果。

-- 執行子查詢
SELECT product_name, sale_price
  FROM Product
 WHERE product_id NOT IN ('0001', '0002', '0003');

之后就很簡單了,上述語句應該會返回 0001 ~ 0003 “以外”的結果。

執行結果

 product_name | sale_price
--------------+-----------
 菜刀         |       3000
 高壓鍋       |       6800
 叉子         |        500
 擦菜板       |        880
 圓珠筆       |        100

七、EXISTS 謂詞

本文最后將要給大家介紹的是 EXISTS 謂詞。將它放到最后進行學習的原因有以下 3 點。

KEYWORD

EXISTS 謂詞

EXISTS 的使用方法與之前的都不相同

② 語法理解起來比較困難

③ 實際上即使不使用 EXISTS,基本上也都可以使用 IN(或者 NOT IN)來代替

理由 ① 和 ② 都說明 EXISTS 是使用方法特殊而難以理解的謂詞。特別是使用否定形式 NOT EXISTSSELECT 語句,即使是 DB 工程師也常常無法迅速理解。此外,如理由 ③ 所述,使用 IN 作為替代的情況非常多(盡管不能完全替代讓人有些傷腦筋),很多讀者雖然記住了使用方法但還是不能實際運用。

但是一旦能夠熟練使用 EXISTS 謂詞,就能體會到它極大的便利性。因此,非常希望大家能夠在達到 SQL 中級水平時掌握此工具。本文只簡單介紹其基本使用方法 [2]

接下來就讓我們趕快看一看 EXISTS 吧。

7.1 EXISTS 謂詞的使用方法

一言以蔽之,謂詞的作用就是“判斷是否存在滿足某種條件的記錄”。如果存在這樣的記錄就返回真(TRUE),如果不存在就返回假(FALSE)。 EXISTS(存在)謂詞的主語是“記錄”。

我們繼續使用前一節“IN 和子查詢”中的示例,使用 EXISTS 選取出“大阪店(000C)在售商品(product_id)的銷售單價(sale_price)”。

SELECT 語句請參考代碼清單 38。

代碼清單 38 使用 EXISTS 選取出“大阪店在售商品的銷售單價”

SQL Server DB2 PostgreSQL MySQL

SELECT product_name, sale_price
  FROM Product AS P -----------------------①
 WHERE EXISTS (SELECT *
                  FROM ShopProduct AS SP --②
                 WHERE SP.shop_id = '000C'
                   AND SP.product_id = P.product_id);

特定的 SQL

Oracle 的 FROM 子句中不能使用 AS(會發生錯誤)。因此,在 Oracle 中執行代碼清單 38 時,請將 ① 的部分修改為“FROM Product P”,將 ② 的部分修改為“FROM ShopProduct SP”(刪除 FROM 子句中的 AS

執行結果

product_name | sale_price
-------------+-------------
 叉子        |        500
 運動T恤     |       4000
 菜刀        |       3000
 擦菜板      |        880

7.1.1 EXISTS 的參數

之前我們學過的謂詞,基本上都是像“列 LIKE 字符串”或者“列 BETWEEN 值 1 AND 值 2”這樣需要指定 2 個以上的參數,而 EXISTS 的左側并沒有任何參數。很奇妙吧?這是因為 EXISTS 是只有 1 個參數的謂詞。EXISTS 只需要在右側書寫 1 個參數,該參數通常都會是一個子查詢。

(SELECT *
   FROM ShopProduct AS SP
  WHERE SP.shop_id = '000C'
    AND SP.product_id = P.product_id)

上面這樣的子查詢就是唯一的參數。確切地說,由于通過條件“SP.product_id = P.product_id”將 Product 表和 ShopProduct 表進行了聯接,因此作為參數的是關聯子查詢。EXISTS 通常都會使用關聯子查詢作為參數 [3]

法則 1

通常指定關聯子查詢作為 EXISTS 的參數。

7.1.2 子查詢中的 SELECT *

可能大家會覺得子查詢中的 SELECT * 稍微有些不同,就像我們之前學到的那樣,由于 EXISTS 只關心記錄是否存在,因此返回哪些列都沒有關系。EXISTS 只會判斷是否存在滿足子查詢中 WHERE 子句指定的條件“商店編號(shop_id)為 '000C',商品(Product)表和商店商品(ShopProduct)表中商品編號(product_id)相同”的記錄,只有存在這樣的記錄時才返回真(TRUE)。

因此,即使寫成代碼清單 39 那樣,結果也不會發生改變。

代碼清單 39 這樣的寫法也能得到與代碼清單 38 相同的結果

SQL Server DB2 PostgreSQL MySQL

SELECT product_name, sale_price
  FROM Product AS P ------------------------------①
 WHERE EXISTS (SELECT 1 -- 這里可以書寫適當的常數
                  FROM ShopProduct AS SP ---------②
                 WHERE SP.shop_id = '000C'
                   AND SP.product_id = P.product_id);

特定的 SQL

在 Oracle 中執行代碼清單 39 時,請將 ① 的部分修改為“FROM Product P”,將 ② 的部分修改為“FROM ShopProduct SP”(刪除 FROM 子句中的 AS)。

大家可以把在 EXISTS 的子查詢中書寫 SELECT * 當作 SQL 的一種習慣。

法則 2

作為 EXISTS 參數的子查詢中經常會使用 SELECT *

7.1.3 使用 NOT EXISTS 替換 NOT IN

就像 EXISTS 可以用來替換 IN 一樣,NOT IN 也可以用 NOT EXISTS 來替換。下面就讓我們使用 NOT EXISTS 來編寫一條 SELECT 語句,讀取出“東京店(000A)在售之外的商品(product_id)的銷售單價(sale_price)”(代碼清單 40)。

KEYWORD

NOT EXISTS 謂詞

代碼清單 40 使用 NOT EXISTS 讀取出“東京店在售之外的商品的銷售單價”

SQL Server DB2 PostgreSQL MySQL

SELECT product_name, sale_price
  FROM Product AS P ----------------------------①
 WHERE NOT EXISTS (SELECT *
                      FROM ShopProduct AS SP ---②
                     WHERE SP.shop_id = '000A'
                       AND SP.product_id = P.product_id);

特定的 SQL

在 Oracle 中執行代碼清單 40 時,請將 ① 的部分修改為“FROM Product P”,將 ② 的部分修改為“FROM ShopProduct SP”(刪除 FROM 子句中的 AS)。

執行結果

product_name | sale_price
-------------+------------
 菜刀        |       3000
 高壓鍋      |       6800
 叉子        |        500
 擦菜板      |        880
 圓珠筆      |        100

NOT EXISTSEXISTS 相反,當“不存在”滿足子查詢中指定條件的記錄時返回真(TRUE)。

IN(代碼清單 36)和 EXISTS(代碼清單 38)的 SELECT 語句進行比較,會得到怎樣的結果呢?可能大多數讀者會覺得 IN 理解起來要容易一些,筆者也認為沒有必要勉強使用 EXISTS。因為 EXISTS 擁有 IN 所不具有的便利性,嚴格來說兩者并不相同,所以希望大家能夠在中級篇中掌握這兩種謂詞的使用方法。

請參閱

各種各樣的函數
SQL 謂詞
CASE 表達式

(完)


雖然使用“shop_name='大阪'”作為條件可以得到同樣的結果,但是通常情況下,指定數據庫中的商店或者商品時,并不會直接使用商品名稱。這是因為與編號比起來,名稱更有可能發生改變。 ↩?

希望了解 EXISTS 謂詞詳細內容的讀者,可以參考《SQL進階教程》中 1-8 節的內容。 ↩?

雖然嚴格來說語法上也可以使用非關聯子查詢作為參數,但實際應用中幾乎沒有這樣的情況。 ↩?

總結

以上是生活随笔為你收集整理的SQL 谓词简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

99在线热播精品免费 | 欧美日韩久久不卡 | 日韩有码在线观看视频 | 欧美日韩亚洲第一 | 97超碰超碰久久福利超碰 | av噜噜噜在线播放 | 中文字幕在线专区 | 在线观看国产永久免费视频 | 久久久久久久99精品免费观看 | 色综合天天视频在线观看 | 五月在线视频 | 国产精品第三页 | 国产一级特黄电影 | 亚洲成av人影院 | 亚洲午夜精品一区二区三区电影院 | 日日操操操 | 国产精品一区二区在线播放 | 69夜色精品国产69乱 | 91视频高清完整版 | 国产亚洲va综合人人澡精品 | 成人久久国产 | 国产高清网站 | 久久这里只有精品视频99 | 91福利小视频 | 日韩亚洲国产中文字幕 | 免费91在线 | 在线观看国产一区二区 | 黄p网站在线观看 | 久草亚洲视频 | 中文高清av | 欧美久久久久 | 99视| 天天天天色射综合 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | caobi视频 | 超碰在线天天 | 久久亚洲美女 | 欧美美女一级片 | 99免费视频 | 久久开心激情 | 日韩网站在线观看 | 日韩高清精品免费观看 | 五月开心婷婷网 | 国产高清av在线播放 | a级国产乱理论片在线观看 伊人宗合网 | 在线免费精品视频 | av资源网在线播放 | 亚洲综合色视频在线观看 | 色综合五月 | 中文字幕免费观看视频 | 中文字幕av免费 | 亚洲精品综合一二三区在线观看 | 中文字幕在线看视频 | 久久精品视频免费 | 四虎精品成人免费网站 | 精品久久久久久亚洲综合网站 | 国产美女精彩久久 | 亚洲成av| 亚洲免费永久精品国产 | 91精品久久久久久综合乱菊 | 在线观看国产 | 96看片| 久久国产视屏 | 国产欧美在线一区二区三区 | 国产精品久久久久久久久久久久 | 中文字幕 国产视频 | 国产专区精品 | 热re99久久精品国产66热 | 最新av免费| 黄色av电影 | 成人av电影在线播放 | 一区二区中文字幕在线播放 | 免费观看黄| 亚洲在线高清 | 日韩网站在线播放 | 奇米影视777影音先锋 | 91av片| 国产精品密入口果冻 | 精品一区中文字幕 | 一区二区精品视频 | 亚洲在线成人精品 | 亚洲综合激情网 | 亚洲免费婷婷 | 国产a级精品 | 成人av播放 | 五月亚洲| 久久久久国产一区二区三区 | 天天爽夜夜爽精品视频婷婷 | 九九天堂 | 欧美在线99| 久久资源在线 | 丁香六月婷婷综合 | 人人干人人草 | 在线视频精品 | 日韩中文字幕在线看 | 国产精品久久久久久久久久久久午夜 | 久久精品精品电影网 | 亚洲精品大全 | 久久a v视频 | 狠狠干 狠狠操 | 99久久精品久久久久久清纯 | 成人性生爱a∨ | 五月在线视频 | 在线导航av| 日韩av网站在线播放 | 91成人精品观看 | 亚洲永久精品国产 | 伊人伊成久久人综合网小说 | 成人97人人超碰人人99 | 激情av网| 国产一级黄色av | 久久精品伊人 | 不卡中文字幕av | 毛片网在线 | av网址最新 | 国产亚洲aⅴaaaaaa毛片 | 欧美在线一级片 | av九九| 激情婷婷网 | 天堂在线视频中文网 | 久久久黄色av | 丁香婷五月 | 国产色视频123区 | 中文字幕在线视频第一页 | av电影 一区二区 | 久草视频免费在线播放 | 美女免费网视频 | 国产精品区免费视频 | 五月天婷婷综合 | 黄色成人小视频 | 精品一区二区三区在线播放 | 国产91勾搭技师精品 | 婷婷精品在线 | 国产五月色婷婷六月丁香视频 | 在线视频日韩欧美 | 九九九九九九精品任你躁 | 久久这里只有精品视频99 | 久久成人精品 | 国产小视频在线播放 | 亚洲国产中文在线观看 | av夜夜操| 在线观看黄色免费视频 | av性网站| 久久综合五月 | 国产免费久久久久 | 国产高清免费 | 欧美色婷婷 | 一区二区三区四区五区在线 | 国产精品久久久久婷婷 | 免费a网站 | 91在线入口 | 911久久香蕉国产线看观看 | 手机在线免费av | 国产一二三精品 | 亚洲精品久久久蜜臀下载官网 | 久久伦理 | 91网在线| 成人在线免费看视频 | 欧美va天堂va视频va在线 | 最近乱久中文字幕 | 国产成人一区二区精品非洲 | 国产精品av久久久久久无 | 久久久久国产精品免费免费搜索 | 五月天激情电影 | 激情五月五月婷婷 | 香蕉日日 | 91精品一区二区三区久久久久久 | 精品麻豆入口免费 | 日韩欧美高清在线观看 | 国产香蕉视频在线观看 | av+在线播放在线播放 | 91精品导航 | 免费看v片 | 黄色大片日本免费大片 | 亚洲精品在线二区 | av在线免费网 | 高清国产午夜精品久久久久久 | 欧美性超爽 | 人人爽人人爱 | 亚洲欧美日韩国产 | 亚洲精品视频一二三 | 97操碰| 亚洲国产97在线精品一区 | 在线电影a | 久久九精品 | 久久精品视频免费播放 | 国产精品va最新国产精品视频 | 天天草天天操 | av电影免费看 | 欧美精品在线视频观看 | 欧洲精品码一区二区三区免费看 | 精品国产一二区 | 亚洲精品视频在线免费播放 | 国产视频精品免费 | 最近中文字幕完整高清 | 亚洲国产中文字幕在线视频综合 | 国产精品女人久久久 | 国产日韩欧美在线免费观看 | www天天干 | 亚洲 欧美 精品 | 久久一区二区三区四区 | www.狠狠操.com| 午夜精品av| 福利电影久久 | 久久精品国产亚洲 | 中文字幕在线视频免费播放 | 丁香花中文在线免费观看 | 免费av试看 | 99福利片| 久色 网 | 在线精品观看 | 六月丁香激情网 | 国产精品美女999 | 在线观看亚洲精品 | 色婷婷电影 | 欧美亚洲精品在线观看 | 日韩黄色免费电影 | 日韩免费一区 | 中文字幕资源网在线观看 | 亚洲精品99久久久久久 | av福利在线看 | 国产精品一区二区久久久 | 91av国产视频 | 九九免费在线看完整版 | 成人三级av | 国产999在线观看 | 亚洲天堂社区 | 在线观看成人小视频 | 免费在线观看日韩视频 | 国产精品一区二区三区观看 | 美女免费黄视频网站 | 999成人 | 三级黄色在线 | 成人av在线影视 | 日日操日日插 | 超碰日韩在线 | 国产精品免费观看视频 | 青草视频网 | 国产区免费 | 欧美日韩一区二区三区免费视频 | 久久精品福利视频 | 久久久精品国产一区二区电影四季 | 日韩av成人在线观看 | 天天天天天操 | 久久国产成人午夜av影院潦草 | 精品免费一区 | 五月婷婷激情网 | 国产精品久久久久久久久久久杏吧 | 狠狠插狠狠干 | www.黄色网.com| 在线免费av网 | 国产婷婷vvvv激情久 | av一级久久 | 99免费视频 | 欧美日韩亚洲第一页 | 久久九九免费 | 高清国产一区 | 日日婷婷夜日日天干 | 国产亚洲午夜高清国产拍精品 | 国产精品自产拍在线观看桃花 | 91精品国产福利 | 99精品国产成人一区二区 | 一区二区三区免费播放 | 五月天久久狠狠 | 成人h在线 | 久草视频手机在线 | 日韩乱理 | 色综合天| 看片一区二区三区 | 亚洲91精品在线观看 | 天天拍天天爽 | 国产成人av电影 | 国产.精品.日韩.另类.中文.在线.播放 | 久久久国产精品一区二区三区 | 黄色毛片一级片 | 福利视频精品 | 亚洲欧美视频在线播放 | 91精品国产亚洲 | 欧美精品久久天天躁 | 激情视频免费在线 | 96精品视频| 美国人与动物xxxx | 中文字幕第一 | 日韩精品久久久免费观看夜色 | 欧美日韩不卡一区二区三区 | 97视频免费观看 | 欧美在线视频免费 | 国产亚洲精品久久久久久大师 | 亚洲三级av| 精品视频成人 | 久久精品亚洲 | 超碰在线人人97 | 色综合久久久久综合体桃花网 | 天天躁天天狠天天透 | 91精品啪在线观看国产 | 日韩激情av在线 | 精品毛片一区二区免费看 | 国产一区av在线 | 欧美日韩国产在线一区 | 永久免费av在线播放 | 超碰在线91| 一区中文字幕电影 | 九九热精| 久久久国产精品久久久 | 久久久久久久久久久高潮一区二区 | 亚洲一级理论片 | 亚洲黄色av一区 | 国产亚洲成人精品 | 91精选| 国产一级免费观看 | 久久免费观看少妇a级毛片 久久久久成人免费 | 西西4444www大胆艺术 | 伊人小视频 | 69精品久久久 | 免费在线国产视频 | 久久综合亚洲鲁鲁五月久久 | 天天插狠狠干 | 九九热1| 欧美网站黄色 | 日韩av免费大片 | 久久亚洲成人网 | 色偷偷人人澡久久超碰69 | 五月天激情综合 | 久99久中文字幕在线 | 少妇bbb好爽| 欧美在线不卡一区 | 深夜福利视频在线观看 | 国产在线播放观看 | 精品视频999 | 中文字幕在线视频一区 | 婷婷色5月| 在线视频一区观看 | 在线观看黄色免费视频 | 久久久久久久久黄色 | 99这里有精品 | 日日夜夜天天久久 | 日韩视频图片 | 超碰在线日本 | 91丨精品丨蝌蚪丨白丝jk | 国产精品一区二区av麻豆 | 亚洲成人精品在线 | 婷婷六月在线 | 中文字幕黄色网 | 天堂视频一区 | 色婷婷国产 | 亚洲精品国偷拍自产在线观看蜜桃 | 久久五月天色综合 | 国产99久久久国产精品免费看 | 成人精品福利 | 91免费观看视频在线 | 国产精品久久久久久久久久久久久久 | 亚洲欧美视频 | 久久精品99精品国产香蕉 | 人人插人人草 | 2024国产精品视频 | 一区二精品 | 欧美久久电影 | 91精品办公室少妇高潮对白 | 精品999在线观看 | 亚洲乱码国产乱码精品天美传媒 | 人人干网站 | 免费视频91 | 日韩特黄一级欧美毛片特黄 | 国产精品mv | 日日操日日操 | 国产精品久久久久久久久久白浆 | 成人a视频片观看免费 | 五月婷婷中文字幕 | 日韩欧美精品在线观看 | 91精品国产高清自在线观看 | 亚洲电影网站 | 91综合色 | 91在线看视频免费 | 国产精品久久电影网 | 国产美女视频网站 | 天天色官网 | 奇米网在线观看 | 欧美日韩亚洲一 | 国产一线在线 | 9992tv成人免费看片 | 国产xxxxx在线观看 | 精品不卡视频 | 91视频电影 | 日韩视频1 | 亚洲免费成人av电影 | 夜色.com| 免费在线视频一区二区 | 91视频免费网址 | 久草在线免费电影 | 一区二区三区电影在线播 | 91精品国产综合久久福利不卡 | 午夜91在线| 亚洲欧美精品一区 | 久久精品中文字幕一区二区三区 | 黄色毛片视频 | 97小视频 | 国产一区在线观看免费 | 欧美在线aa | 91.麻豆视频 | 国产午夜精品福利视频 | 久久久免费观看完整版 | 波多野结衣资源 | 日韩av影视在线观看 | 久草视频免费看 | 日韩视频专区 | 美女网站黄在线观看 | 免费亚洲精品 | 中文字幕资源站 | 亚洲视频第一页 | 国产精品激情在线观看 | 五月激情亚洲 | 天天插天天狠天天透 | 久久只精品99品免费久23小说 | 午夜美女av | 久久国产二区 | 国际精品久久 | 午夜精品一区二区三区可下载 | 在线免费观看视频一区二区三区 | 夜夜操综合网 | 国产资源| 91探花在线 | 91丨九色丨高潮 | 日韩精品一区二区三区免费视频观看 | 三级在线视频观看 | 亚洲永久精品在线 | 日日干夜夜操视频 | 国产精品尤物视频 | 中文字幕乱视频 | 免费观看性生活大片3 | 成年人视频免费在线播放 | 国产香蕉视频在线播放 | 国产精品国产三级国产专区53 | 日韩午夜大片 | 国产精品久久在线观看 | 91免费视频网站在线观看 | 日韩免费在线看 | 日韩黄在线观看 | 黄色h在线观看 | 91漂亮少妇露脸在线播放 | 国产美女网站视频 | 伊人亚洲精品 | 国产黄视频在线观看 | 色偷偷人人澡久久超碰69 | 在线日韩视频 | 久久成人久久 | 激情 一区二区 | 91亚洲成人 | 91精品在线麻豆 | 久久在线观看 | 欧美乱码精品一区二区 | 99九九99九九九视频精品 | 久久一区国产 | 最新色视频 | 肉色欧美久久久久久久免费看 | 蜜臀久久99精品久久久酒店新书 | 欧美在线观看小视频 | 91夜夜夜| 日日夜夜av | 欧美激情综合色综合啪啪五月 | 在线免费观看国产精品 | 成人av中文字幕在线观看 | 亚洲国产mv | 日日碰狠狠添天天爽超碰97久久 | 国产精品嫩草影视久久久 | 99热这里只有精品免费 | 国产成人精品一区在线 | 日韩久久精品一区二区 | 亚洲精品久久久久中文字幕二区 | 最新av免费在线 | 在线免费国产视频 | 在线视频你懂 | 国内精品久久久久久久久久久 | 国产视频日韩视频欧美视频 | 2019中文字幕第一页 | 国产精品永久在线 | 91视频在线免费下载 | 日韩欧美一区二区在线 | 国产a视频免费观看 | 少妇bbbb揉bbbb日本 | 久久99久久99久久 | 福利视频网站 | 日韩精品视 | 中文在线免费观看 | 正在播放亚洲精品 | 99精品在线视频观看 | a一片一级 | 日本美女xx| 欧美另类色图 | 久久久久国产精品厨房 | 性色va| 色黄视频免费观看 | 91大神精品视频在线观看 | 丁香婷婷久久久综合精品国产 | 久久一线 | 日本在线观看中文字幕无线观看 | 欧美色888 | 蜜桃麻豆www久久囤产精品 | 丁香花在线观看视频在线 | 深爱激情综合网 | 色婷婷久久久综合中文字幕 | 亚洲免费婷婷 | 国产亚洲日| 国产精品va | 激情狠狠干 | 美女视频黄免费网站 | 日韩精品一区二区三区免费观看视频 | 欧美一区二区日韩一区二区 | 女人18毛片a级毛片一区二区 | 欧美在线free| 日韩av不卡在线 | 免费观看mv大片高清 | 蜜臀久久99精品久久久无需会员 | 欧美另类巨大 | 91精品在线观看视频 | 九九免费在线视频 | 激情五月综合网 | 亚洲国产精品va在线看黑人 | 国产在线美女 | 九九免费在线看完整版 | 国产99久久九九精品免费 | 成人免费视频播放 | 免费福利在线 | 福利视频一区二区 | 久久精品视频一 | 国产青草视频在线观看 | 8x8x在线观看视频 | 国产精品久久久久久久午夜 | 婷婷丁香九月 | 精品国产一区二区三区久久久蜜臀 | 手机在线黄色网址 | 精品自拍网 | 午夜精品久久久久久中宇69 | 国产成人亚洲在线电影 | 国产视频2 | 91色国产在线 | 97精品一区二区三区 | 欧美性精品 | 欧美一级免费黄色片 | 久草com| 91av视频| 日韩黄色软件 | 91伊人久久大香线蕉蜜芽人口 | 精品久久久久久亚洲综合网 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 日韩高清精品免费观看 | 国产精品成人久久久久 | 超碰在线日本 | 日韩乱码中文字幕 | 超碰97在线看 | 亚洲成av人片在线观看香蕉 | 日韩激情影院 | 免费观看国产精品 | 亚洲精品国产精品99久久 | 六月丁香色婷婷 | 日日射天天射 | 国产99久久精品一区二区永久免费 | 日日碰狠狠躁久久躁综合网 | 伊人久久国产精品 | 日韩电影中文字幕 | 天天操夜夜摸 | 99久久精品免费看国产麻豆 | 国产免费久久精品 | 99视频在线精品国自产拍免费观看 | 超碰97在线资源站 | 午夜久久电影网 | 欧美性脚交 | 91免费日韩 | 午夜精品一区二区三区在线 | 国产在线看 | 天天干天天插 | 日韩av图片 | 97涩涩视频 | 人人超碰人人 | 国产一区二区免费看 | www天天干com | 国产黄色片一级 | 国产理论在线 | 欧美视频网址 | 欧美黄色成人 | 国产一级黄色电影 | 成人免费观看电影 | 国产玖玖在线 | 日韩美av在线 | av 一区 二区 久久 | 99视频在线观看免费 | 国产日韩精品一区二区三区在线 | 制服丝袜亚洲 | 91视频免费看 | 九九九在线观看 | 国产在线中文 | www.五月天婷婷 | 在线激情电影 | 成人a v视频 | freejavvideo日本免费 | 国产精品第十页 | 中文字幕中文字幕 | 日韩在线小视频 | 日韩激情久久 | 国产拍揄自揄精品视频麻豆 | 国产 欧美 日本 | 亚洲精品大全 | av在线中文 | 爱爱av网站| 国产在线欧美在线 | 午夜精品剧场 | 九九九在线 | 国产在线毛片 | 麻豆91精品视频 | 精品亚洲欧美一区 | 狠狠干成人综合网 | 欧美一区二区三区特黄 | 青青河边草免费观看完整版高清 | 精品乱码一区二区三四区 | 中文av网站 | 91精品亚洲影视在线观看 | 午夜视频在线观看一区 | 国产高清网站 | 91视频在线免费观看 | 婷婷六月色 | 99re热精品视频 | 精品人人人人 | 久久99精品国产一区二区三区 | 亚洲天堂网视频 | 欧洲色综合| 精品国产亚洲一区二区麻豆 | 亚洲精品中文在线 | 国产精品视频最多的网站 | 亚洲精品99久久久久久 | 摸阴视频| 美女网站一区 | 天天干夜夜擦 | 97超碰国产精品 | 天天躁日日躁狠狠躁 | 色视频成人在线观看免 | 亚洲国产精品500在线观看 | 日韩一区二区三免费高清在线观看 | 在线观看日韩免费视频 | 亚洲精品9 | 精品免费久久久久久 | 久久久影视 | 久久人91精品久久久久久不卡 | 日韩高清免费电影 | 狠狠gao | 九九国产精品视频 | 国产精品久久久久久久久费观看 | 国产成人一区二区三区久久精品 | 国产字幕在线观看 | 亚洲精品小视频 | 美女免费电影 | 欧美一区二区三区免费观看 | 国产精品毛片久久久久久久久久99999999 | 欧美做受高潮电影o | 日日夜夜狠狠操 | 在线观看网站黄 | 久久亚洲福利视频 | 热久久99这里有精品 | 欧美久久久久久久久久久久 | 成人免费视频在线观看 | 亚洲最大av| 久久人人插 | 国产精品视频免费在线观看 | 天操夜夜操 | 国产精品成人aaaaa网站 | 亚洲无吗av | 国产精品视频在线观看 | 久久婷婷国产 | 天天天天天干 | 国产分类视频 | 69视频在线播放 | 亚洲在线精品视频 | 日韩中文幕| 97在线视频免费看 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 成片人卡1卡2卡3手机免费看 | 成人免费视频播放 | 免费午夜在线视频 | 国产精品密入口果冻 | 色吊丝在线永久观看最新版本 | 九月婷婷综合网 | 精品久久久久国产免费第一页 | 欧美成人91| 亚洲精品国产精品国自产在线 | 国产字幕在线看 | 欧美日韩一区二区视频在线观看 | 992tv又爽又黄的免费视频 | 四虎成人精品永久免费av | 黄色日本免费 | 9999国产精品 | 免费av片在线| 欧美电影黄色 | 蜜桃麻豆www久久囤产精品 | 18国产精品福利片久久婷 | 精品国产欧美 | 久久综合久久88 | 伊人国产在线播放 | 中文字幕麻豆 | 成年人在线免费看视频 | 色婷婷精品 | 国产资源站 | 欧美日韩午夜在线 | 日韩城人在线 | 怡红院av久久久久久久 | 中文字幕黄色av | 国产主播大尺度精品福利免费 | 91最新视频| 日韩电影在线一区二区 | 天天操天天射天天插 | 久草在线视频看看 | 久久精品视频免费播放 | www.操.com| 在线观看aa | 国产香蕉97碰碰久久人人 | 99热在线免费观看 | 国产精品久久久久一区 | www亚洲精品 | 91经典在线 | 国产第一页在线观看 | 欧美日视频| 国产精品免费视频网站 | 99re中文字幕 | 日韩伦理一区二区三区av在线 | 成年人免费观看在线视频 | 国产精品丝袜久久久久久久不卡 | 97操操 | 亚洲精品自拍视频在线观看 | 日韩视频一区二区 | 在线免费观看国产 | 天天天天射 | 99r在线| 亚洲精品小视频在线观看 | 国产一区二区不卡视频 | 在线成人中文字幕 | 黄色在线网站噜噜噜 | 日韩电影一区二区三区在线观看 | 天天av在线播放 | 成人av中文字幕在线观看 | 深爱五月激情五月 | 99视频精品全部免费 在线 | 亚洲国产精品99久久久久久久久 | 成人在线免费看视频 | 中文字幕电影网 | 久久久久久久福利 | 91尤物国产尤物福利在线播放 | 韩国三级av在线 | 99精品小视频 | 97视频在线免费观看 | 开心激情五月网 | 99国产成+人+综合+亚洲 欧美 | 亚洲免费成人av电影 | 国产小视频福利在线 | 又黄又爽又湿又无遮挡的在线视频 | 久久久高清一区二区三区 | 欧美日韩免费观看一区二区三区 | 久久免费在线观看视频 | 97超碰免费 | 黄色影院在线免费观看 | 亚洲国产精品999 | 亚洲女人av | 中文字幕九九 | 中文字幕韩在线第一页 | 国产剧情一区二区在线观看 | 久久久久99精品成人片三人毛片 | 麻豆视频一区二区 | 日韩中文在线电影 | www.99av | avhd高清在线谜片 | 久久综合久久鬼 | 国产精品美女久久久久久久 | 国产自制av | 怡红院av久久久久久久 | 日韩精品一区二区在线观看视频 | 午夜 久久 tv| www178ccom视频在线| 亚洲精品美女视频 | 国产精品视频在线观看 | 色婷婷狠狠五月综合天色拍 | 久久99久国产精品黄毛片入口 | .国产精品成人自产拍在线观看6 | 免费成人黄色av | 亚洲在线视频观看 | 国产精品久久久久久久免费观看 | 午夜骚影 | 国产欧美三级 | av解说在线观看 | 久久久精品一区二区 | 高清av影院| 久久婷婷一区二区三区 | 婷婷综合网 | 国产在线日本 | 久久www免费人成看片高清 | 免费影视大全推荐 | 免费在线观看视频一区 | 国产免费专区 | av 一区二区三区 | 国产美腿白丝袜足在线av | www.天天射 | 最新中文字幕在线播放 | 久久黄网站 | 久久97精品 | 国产热re99久久6国产精品 | 伊人久久av| 久久久伊人网 | a级国产片 | 成人在线播放免费观看 | 日韩欧美亚州 | 97在线观看免费观看 | 一本一道波多野毛片中文在线 | 中文字幕中文字幕在线中文字幕三区 | 久久视频热 | 97超级碰碰碰视频在线观看 | 99中文在线 | 国产99久久久国产精品免费看 | 日本在线观看一区二区三区 | 91在线在线观看 | 亚洲黄色在线免费观看 | 久久人人做 | 国产v视频 | av在线不卡观看 | 深爱激情五月综合 | 中文字幕在线网址 | 九九九免费视频 | 色综合中文综合网 | 亚洲欧美视频在线观看 | av在线专区 | av综合站 | 天天操天天玩 | 在线岛国av | 亚洲国产999 | 久久神马影院 | 中文字幕在线视频国产 | 亚洲精品视频 | 91精品欧美 | 亚洲精品久久久久中文字幕m男 | 在线成人看片 | 国产资源免费在线观看 | 一色av| 亚洲狠狠婷婷综合久久久 | 在线精品一区二区 | 日韩精品影视 | 高清av在线 | 日本三级中文字幕在线观看 | 亚洲久在线 | 香蕉看片| 久草在线91 | 福利片视频区 | 久久av免费 | 免费日韩 精品中文字幕视频在线 | 欧美成人精品三级在线观看播放 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲一级黄色av | 久久久久日本精品一区二区三区 | 麻豆传媒在线视频 | 91香蕉视频 mp4 | 日本精品一区二区三区在线播放视频 | 国产中文字幕在线视频 | 香蕉97视频观看在线观看 | 成人精品国产免费网站 | 亚洲网站在线 | 大胆欧美gogo免费视频一二区 | 国产免费激情久久 | 久久久久久蜜桃一区二区 | 午夜精品视频福利 | 久久专区 | 午夜 免费 | 奇米影视777四色米奇影院 | 成人av高清在线观看 | 一区二区精品国产 | 成人动图 | 成年美女黄网站色大片免费看 | 综合网天天色 | 性色av香蕉一区二区 | 国产一级在线观看 | 久艹在线播放 | 国产91在线观看 | 伊人久久五月天 | 亚洲黄色免费在线 | 天堂视频中文在线 | 成人毛片a | 国产精品一区二区中文字幕 | 国产黄在线| 午夜骚影 | 四虎影视精品永久在线观看 | 五月天激情综合网 | 日本三级国产 | 成人免费在线播放 | 日韩视频中文字幕 | www.色五月.com | 久久免费精品 | 久久精品国产亚洲精品 | 国内精品久久久久 | 亚洲精品99久久久久中文字幕 | 国产精品片| 国产精品嫩草影视久久久 | av中文字幕在线观看网站 | 在线观看中文 | 日韩免费视频播放 | 国产中年夫妇高潮精品视频 | 婷婷中文字幕 | 丁香色婷 | 丁香六月激情 | a在线一区| 99在线免费视频 | 麻豆视频在线看 | 一区二区三区 亚洲 | 欧美日韩国产综合网 | 青草视频在线播放 | 丁香婷婷综合色啪 | 天天爱天天操天天干 | 亚洲久草网 | 国内精品久久久久久久久久清纯 | 在线观看福利网站 | 国产精品自拍在线 | 久久99精品国产麻豆婷婷 | 免费国产在线观看 | 97av视频在线| 亚洲干 | 亚洲国产精品成人女人久久 | 日韩中文字幕在线观看 | 亚洲人成免费网站 | 欧美俄罗斯性视频 | 97视频中文字幕 | 99久久99热这里只有精品 | 亚洲国产精品一区二区久久,亚洲午夜 | 在线黄色av电影 | 国产精久久久久久妇女av | 99精品黄色 | 国产成人精品一区二区三区网站观看 | 国偷自产视频一区二区久 | 国产又黄又硬又爽 | 在线性视频日韩欧美 | 99r在线观看 | 日韩精品一区二区三区水蜜桃 | 婷婷成人亚洲综合国产xv88 | 日韩亚洲国产中文字幕 | 亚洲精品国精品久久99热 | 91九色性视频 | 成人av免费在线看 | 国产不卡在线 | 免费av试看 | 九色精品免费永久在线 | 色婷婷av一区 | 成人久久亚洲 | 成人在线观看资源 | 91视频在线| 91丨九色丨国产在线观看 | 亚洲不卡123 | 色婷婷97| av中文天堂 | 亚洲一区二区三区精品在线观看 | 最近中文字幕高清字幕在线视频 | 91桃色在线播放 | 91av在线视频免费观看 | 欧美另类调教 | 99热精品久久| 国产精品视频地址 | 精品视频免费在线 | 中文字幕丝袜 | 最近中文字幕国语免费av | 在线欧美日韩 | 成人av在线直播 | 国产999精品久久久久久麻豆 | 中文字幕在线观看你懂的 | 亚洲天天干 | 日韩动漫免费观看高清完整版在线观看 | 精品久久电影 | 日日夜夜草 | 精品欧美一区二区精品久久 | 日韩精品免费在线观看视频 | 国产视频在线观看一区 | 制服丝袜在线91 | 午夜精品电影 | 国产精品99久久久久久人免费 | 亚洲第一av在线播放 | 久久精品美女 | 天天干天天做天天操 | 我要看黄色一级片 | 美女网站色 | 久色免费视频 | 亚洲色五月 | 五月天综合婷婷 | 日韩精品免费在线视频 | 四虎精品成人免费网站 | 麻豆精品在线 | 麻豆一区二区 | 亚洲午夜av久久乱码 | 国产成人精品午夜在线播放 | 91福利区一区二区三区 | 久久人人爽视频 | 精品综合久久久 | 99高清视频有精品视频 | www激情久久 | 92av视频 | 欧美一区二区日韩一区二区 | 欧美另类激情 | 国产婷婷在线观看 | av一级一片 | 高清国产在线一区 | 久久艹久久 |