国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

SQL的溫柔陷阱:三值邏輯與NULL

共 2322字,需瀏覽 5分鐘

 ·

2020-11-04 09:11


點(diǎn)擊上方數(shù)據(jù)管道”,選擇“置頂星標(biāo)”公眾號

干貨福利,第一時(shí)間送達(dá)


什么是NULL


NULL 用于表示缺失的值或遺漏的未知數(shù)據(jù),不是某種具體類型的值。數(shù)據(jù)表中的 NULL 值表示該值所處的字段為空,值為 NULL 的字段沒有值,尤其要明白的是:NULL 值與 0 或者空字符串是不同的。


兩種 NULL


這種說法大家可能會覺得很奇怪,因?yàn)?SQL 里只存在一種 NULL 。然而在討論 NULL 時(shí),我們一般都會將它分成兩種類型來思考:“未知”(unknown)和“不適用”(not applicable,inapp licable)。

以“不知道戴墨鏡的人眼睛是什么顏色”這種情況為例,這個(gè)人的眼睛肯定是有顏色的,但是如果他不摘掉眼鏡,別人就不知道他的眼睛是什么顏色。這就叫作未知。而“不知道冰箱的眼睛是什么顏色”則屬于“不適用”。因?yàn)楸涓揪蜎]有眼睛,所以“眼睛的顏色”這一屬性并不適用于冰箱?!氨涞难劬Φ念伾边@種說法和“圓的體積”“男性的分娩次數(shù)”一樣,都是沒有意義的。平時(shí),我們習(xí)慣了說“不知道”,但是“不知道”也分很多種。“不適用”這種情況下的 NULL ,在語義上更接近于“無意義”,而不是“不確定”。這里總結(jié)一下:“未知”指的是“雖然現(xiàn)在不知道,但加上某些條件后就可以知道”;而“不適用”指的是“無論怎么努力都無法知道”。

關(guān)系模型的發(fā)明者 E.F. Codd 最先給出了這種分類。下圖是他對“丟失的信息”的分類




為什么必須寫成“IS NULL”,而不是“= NULL”


我相信不少人有這樣的困惑吧,尤其是相信剛學(xué) SQL 的小伙伴。我們來看個(gè)具體的案例,假設(shè)我們有如下表以及數(shù)據(jù)


DROP?TABLE?IF?EXISTS?t_sample_null;
CREATE?TABLE?t_sample_null (
????id?INT(11) unsigned?NOT?NULL?AUTO_INCREMENT COMMENT?'自增主鍵',
????name?VARCHAR(50) NOT?NULL?COMMENT?'名稱',
????remark VARCHAR(500) COMMENT?'備注',
????primary key(id)
) COMMENT?'NULL樣例';

INSERT?INTO?t_sample_null(name, remark)
VALUES('zhangsan', '張三'),('李四', NULL);



我們要查詢備注為 NULL 的記錄(為 NULL 這種叫法本身是不對的,只是我們?nèi)粘V幸呀?jīng)叫習(xí)慣了,具體往下看),怎么查,很多新手會寫出這樣的 SQL


-- SQL 不報(bào)錯(cuò),但查不出結(jié)果
SELECT?* FROM?t_sample_null WHERE?remark = NULL;




執(zhí)行時(shí)不報(bào)錯(cuò),但是查不出我們想要的結(jié)果, 這是為什么了 ?這個(gè)問題我們先放著,我們往下看


三值邏輯


這個(gè)三值邏輯不是三目運(yùn)算,指的是三個(gè)邏輯值,有人可能有疑問了,邏輯值不是只有真(true)和假(false)嗎,哪來的第三個(gè)?說這話時(shí)我們需要注意所處的環(huán)境,在主流的編程語言中(C、JAVA、Python、JS等)中,邏輯值確實(shí)只有 2 個(gè),但在 SQL 中卻存在第三個(gè)邏輯值:unknown。這有點(diǎn)類似于我們平時(shí)所說的:對、錯(cuò)、不知道。

邏輯值 unknown 和作為 NULL 的一種的 UNKNOWN (未知)是不同的東西。前者是明確的布爾型的邏輯值,后者既不是值也不是變量。為了便于區(qū)分,前者采用小寫字母 unknown ,后者用大寫字母 UNKNOWN 來表示。為了讓大家理解兩者的不同,我們來看一個(gè) x=x 這樣的簡單等式。x 是邏輯值 unknown 時(shí),x=x 被判斷為 true ,而 x 是 UNKNOWN 時(shí)被判斷為 unknown


--?這個(gè)是明確的邏輯值的比較
unknown?=?unknown?→?true

--?這個(gè)相當(dāng)于NULL?=?NULL
UNKNOWN?=?UNKNOWN?→?unknown




三值邏輯的邏輯值表


NOT

AND

OR

圖中藍(lán)色部分是三值邏輯中獨(dú)有的運(yùn)算,這在二值邏輯中是沒有的。其余的 SQL 謂詞全部都能由這三個(gè)邏輯運(yùn)算組合而來。從這個(gè)意義上講,這個(gè)幾個(gè)邏輯表可以說是 SQL 的母體(matrix)。

NOT 的話,因?yàn)檫壿嬛当肀容^簡單,所以很好記;但是對于 AND 和 OR,因?yàn)榻M合出來的邏輯值較多,所以全部記住非常困難。為了便于記憶,請注意這三個(gè)邏輯值之間有下面這樣的優(yōu)先級順序。

AND 的情況:false > unknown > true
OR 的情況:true > unknown > false

優(yōu)先級高的邏輯值會決定計(jì)算結(jié)果。例如 true AND unknown ,因?yàn)?unknown 的優(yōu)先級更高,所以結(jié)果是 unknown 。而 true OR unknown 的話,因?yàn)?true 優(yōu)先級更高,所以結(jié)果是 true 。記住這個(gè)順序后就能更方便地進(jìn)行三值邏輯運(yùn)算了。特別需要記住的是,當(dāng) AND 運(yùn)算中包含 unknown 時(shí),結(jié)果肯定不會是 true (反之,如果AND 運(yùn)算結(jié)果為 true ,則參與運(yùn)算的雙方必須都為 true )。


--?假設(shè)?a?=?2,?b?=?5,?c?=?NULL,下列表達(dá)式的邏輯值如下

a?AND?b?>?c??→?unknown
a?>?b?OR?b?a?OR?b?true
NOT?(b?<>?c)?????→?unknown



“IS NULL” 而非 “= NULL”


我們再回到問題:為什么必須寫成“IS NULL”,而不是“= NULL”

對 NULL 使用比較謂詞后得到的結(jié)果總是 unknown 。而查詢結(jié)果只會包含 WHERE 子句里的判斷結(jié)果為 true 的行,不會包含判斷結(jié)果為 false 和 unknown 的行。不只是等號,對 NULL 使用其他比較謂詞,結(jié)果也都是一樣的。所以無論 remark 是不是 NULL ,比較結(jié)果都是 unknown ,那么永遠(yuǎn)沒有結(jié)果返回。以下的式子都會被判為 unknown


--?以下的式子都會被判為?unknown
=?NULL
>?NULL
NULL
<>?NULL
NULL?=?NULL

那么,為什么對 NULL 使用比較謂詞后得到的結(jié)果永遠(yuǎn)不可能為真呢?這是因?yàn)?,NULL 既不是值也不是變量。NULL 只是一個(gè)表示“沒有值”的標(biāo)記,而比較謂詞只適用于值。因此,對并非值的 NULL 使用比較謂詞本來就是沒有意義的?!傲械闹禐?NULL ”、“NULL 值” 這樣的說法本身就是錯(cuò)誤的。因?yàn)?NULL不是值,所以不在定義域(domain)中。相反,如果有人認(rèn)為 NULL 是值,那么我們可以倒過來想一下:它是什么類型的值?關(guān)系數(shù)據(jù)庫中存在的值必然屬于某種類型,比如字符型或數(shù)值型等。所以,假如 NULL 是值,那么它就必須屬于某種類型。

NULL 容易被認(rèn)為是值的原因有兩個(gè)。第一個(gè)是高級編程語言里面,NULL 被定義為了一個(gè)常量(很多語言將其定義為了整數(shù)0),這導(dǎo)致了我們的混淆。但是,SQL 里的 NULL 和其他編程語言里的 NULL 是完全不同的東西。第二個(gè)原因是,IS NULL 這樣的謂詞是由兩個(gè)單詞構(gòu)成的,所以我們?nèi)菀装?IS 當(dāng)作謂詞,而把 NULL 當(dāng)作值。特別是 SQL 里還有 IS TRUE 、IS FALSE 這樣的謂詞,我們由此類推,從而這樣認(rèn)為也不是沒有道理。但是正如講解標(biāo)準(zhǔn) SQL 的書里提醒人們注意的那樣,我們應(yīng)該把 IS NULL 看作是一個(gè)謂詞。因此,寫成 IS_NULL 這樣也許更合適。



溫柔的陷阱


比較謂詞和 NULL


排中律不成立

  • 排中律指同一個(gè)思維過程中,兩個(gè)相互矛盾的思想不能同假,必有一真,即“要么A要么非A”
  • 假設(shè)我們有學(xué)生表:t_student


DROP?TABLE?IF?EXISTS?t_student;
CREATE?TABLE?t_student (
????id?INT(11) unsigned?NOT?NULL?AUTO_INCREMENT COMMENT?'自增主鍵',
????name?VARCHAR(50) NOT?NULL?COMMENT?'名稱',
????age INT(3) COMMENT?'年齡',
????remark VARCHAR(500) NOT?NULL?DEFAULT?''?COMMENT?'備注',
????primary key(id)
) COMMENT?'學(xué)生信息';

INSERT?INTO?t_student(name, age)
VALUE('zhangsan', 25),('wangwu', 60),('bruce', 32),('yzb', NULL),('boss', 18);

SELECT?* FROM?t_student;



表中數(shù)據(jù) yzb 的 age 是 NULL,也就是說 yzb 的年齡未知。在現(xiàn)實(shí)世界里,yzb 是 20 歲,或者不是 20 歲,二者必居其一,這毫無疑問是一個(gè)真命題。那么在 SQL 的世界里了,排中律還適用嗎? 我們來看一個(gè) SQL


SELECT?*?FROM?t_student
WHERE?age?=?20?OR?age?<>?20;

咋一看,這不就是查詢表中全部記錄嗎?我們來看下實(shí)際結(jié)果


yzb 沒查出來,這是為什么了?我們來分析下,yzb 的 age 是 NULL,那么這條記錄的判斷步驟如下


-- 1. 約翰年齡是 NULL (未知的 NULL !)
SELECT?*
FROM?t_student
WHERE?age = NULL
OR?age <> NULL;

-- 2. 對 NULL 使用比較謂詞后,結(jié)果為unknown
SELECT?*
FROM?t_student
WHERE?unknown
OR?unknown;

-- 3.unknown OR unknown 的結(jié)果是unknown (參考三值邏輯的邏輯值表)
SELECT?*
FROM?t_student
WHERE?unknown;


SQL 語句的查詢結(jié)果里只有判斷結(jié)果為 true 的行。要想讓 yzb 出現(xiàn)在結(jié)果里,需要添加下面這樣的 “第 3 個(gè)條件”


--?添加 3 個(gè)條件:年齡是20?歲,或者不是20?歲,或者年齡未知
SELECT?*?FROM?t_student
WHERE?age?=?20?
????OR?age?<>?20
????OR?age?IS?NULL;

CASE 表達(dá)式和 NULL

簡單 CASE 表達(dá)式如下


CASE?col_1
????WHEN?=?1?THEN?'o'
????WHEN?NULL?THEN?'x'
END

這個(gè) CASE 表達(dá)式一定不會返回 ×。這是因?yàn)椋诙€(gè) WHEN 子句是 col_1 = NULL 的縮寫形式。正如我們所知,這個(gè)式子的邏輯值永遠(yuǎn)是 unknown ,而且 CASE 表達(dá)式的判斷方法與 WHERE 子句一樣,只認(rèn)可邏輯值為 true 的條件。正確的寫法是像下面這樣使用搜索 CASE 表達(dá)式


CASE?WHEN?col_1?=?1?THEN?'o'
????WHEN?col_1?IS?NULL?THEN?'x'
END



NOT IN 和 NOT EXISTS 不是等價(jià)的


我們在對 SQL 語句進(jìn)行性能優(yōu)化時(shí),經(jīng)常用到的一個(gè)技巧是將 IN 改寫成 EXISTS ,這是等價(jià)改寫,并沒有什么問題。但是,將 NOT IN 改寫成 NOT EXISTS 時(shí),結(jié)果未必一樣。

我們來看個(gè)例子,我們有如下兩張表:t_student_A 和 t_student_B,分別表示 A 班學(xué)生與 B 班學(xué)生?


DROP TABLE IF?EXISTS t_student_A;
CREATE TABLE t_student_A (
????id INT(11) unsigned NOT NULL?AUTO_INCREMENT COMMENT '自增主鍵',
????name VARCHAR(50) NOT NULL?COMMENT '名稱',
????age INT(3) COMMENT '年齡',
????city VARCHAR(50) NOT NULL?COMMENT '城市',
????remark VARCHAR(500) NOT NULL?DEFAULT?''?COMMENT '備注',
????primary key(id)
) COMMENT '學(xué)生信息';

INSERT INTO t_student_A(name, age, city)
VALUE
('zhangsan', 25,'深圳市'),('wangwu', 60, '廣州市'),
('bruce', 32, '北京市'),('yzb', NULL, '深圳市'),
('boss', 43, '深圳市');

DROP TABLE IF?EXISTS t_student_B;
CREATE TABLE t_student_B (
????id INT(11) unsigned NOT NULL?AUTO_INCREMENT COMMENT '自增主鍵',
????name VARCHAR(50) NOT NULL?COMMENT '名稱',
????age INT(3) COMMENT '年齡',
????city VARCHAR(50) NOT NULL?COMMENT '城市',
????remark VARCHAR(500) NOT NULL?DEFAULT?''?COMMENT '備注',
????primary key(id)
) COMMENT '學(xué)生信息';

INSERT INTO t_student_B(name, age, city)
VALUE
('馬化騰', 45, '深圳市'),('馬三', 25, '深圳市'),
('馬云', 43, '杭州市'),('李彥宏', 41, '深圳市'),
('年輕人', 25, '深圳市');

?* FROM t_student_B;


需求:查詢與 A ?班住在深圳的學(xué)生年齡不同的 B 班學(xué)生,也就說查詢出 :馬化騰 和 李彥宏,這個(gè) SQL 該如何寫,像這樣?


--?查詢與?A??班住在深圳的學(xué)生年齡不同的?B?班學(xué)生??
SELECT?*?FROM?t_student_B
WHERE?age?NOT?IN?(
????SELECT?age?FROM?t_student_A?
????WHERE?city?=?'深圳市'
);

我們來看下執(zhí)行結(jié)果


我們發(fā)現(xiàn)結(jié)果是空,查詢不到任何數(shù)據(jù),這是為什么了 ?這里 NULL 又開始作怪了,我們一步一步來看看究竟發(fā)生了什么



-- 1. 執(zhí)行子查詢,獲取年齡列表
SELECT?* FROM?t_student
WHERE?age NOT?IN(43, NULL, 25);

-- 2. 用NOT 和IN 等價(jià)改寫NOT IN
SELECT?* FROM?t_student
WHERE?NOT?age IN?(43, NULL, 25);

-- 3. 用OR 等價(jià)改寫謂詞IN
SELECT?* FROM?t_student
WHERE?NOT?( (age = 43) OR?(age = NULL) OR?(age = 25) );

-- 4. 使用德· 摩根定律等價(jià)改寫
SELECT?* FROM?t_student
WHERE?NOT?(age = 43) AND?NOT(age = NULL) AND?NOT?(age = 25);

-- 5. 用<> 等價(jià)改寫 NOT 和 =
SELECT?* FROM?t_student
WHERE?(age <> 43) AND?(age <> NULL) AND?(age <> 25);

-- 6. 對NULL 使用<> 后,結(jié)果為 unknown
SELECT?* FROM?t_student
WHERE?(age <> 43) AND?unknown?AND?(age <> 25);

-- 7.如果 AND 運(yùn)算里包含 unknown,則結(jié)果不為true(參考三值邏輯的邏輯值表)
SELECT?* FROM?t_student
WHERE?false?或 unknown;


可以看出,在進(jìn)行了一系列的轉(zhuǎn)換后,沒有一條記錄在 WHERE 子句里被判斷為 true 。也就是說,如果 NOT IN 子查詢中用到的表里被選擇的列中存在 NULL ,則 SQL 語句整體的查詢結(jié)果永遠(yuǎn)是空。這是很可怕的現(xiàn)象!

為了得到正確的結(jié)果,我們需要使用 EXISTS 謂詞


--?正確的SQL 語句:馬化騰和李彥宏將被查詢到
SELECT?*?FROM?t_student_B?B
WHERE?NOT?EXISTS?(?
????SELECT?*?FROM?t_student_A?A
????WHERE?B.age?=?A.age
????AND?A.city?=?'深圳市'?
);


執(zhí)行結(jié)果如下


同樣地,我們再來一步一步地看看這段 SQL 是如何處理年齡為 NULL 的行的


-- 1. 在子查詢里和 NULL 進(jìn)行比較運(yùn)算,此時(shí) A.age 是 NULL
SELECT?* FROM?t_student_B B
WHERE?NOT?EXISTS?(
????SELECT?* FROM?t_student_A A
????WHERE?B.age = NULL
????AND?A.city = '深圳市'?
);

-- 2. 對NULL 使用“=”后,結(jié)果為 unknown
SELECT?* FROM?t_student_B B
WHERE?NOT?EXISTS?(
????SELECT?* FROM?t_student_A A
????WHERE?unknown
????AND?A.city = '深圳市'?
);

-- 3. 如果AND 運(yùn)算里包含 unknown,結(jié)果不會是true
SELECT?* FROM?t_student_B B
WHERE?NOT?EXISTS?(
????SELECT?* FROM?t_student_A A
????WHERE?false?或 unknown
);

-- 4. 子查詢沒有返回結(jié)果,因此相反地,NOT EXISTS 為 true
SELECT?* FROM?t_student_B B
WHERE?true;


也就是說,yzb 被作為 “與任何人的年齡都不同的人” 來處理了。EXISTS 只會返回 true 或者false,永遠(yuǎn)不會返回 unknown。因此就有了 IN 和 EXISTS 可以互相替換使用,而 NOT IN和 NOT EXISTS 卻不可以互相替換的混亂現(xiàn)象。

還有一些其他的陷阱,比如:限定謂詞和 NULL、限定謂詞和極值函數(shù)不是等價(jià)的、聚合函數(shù)和 NULL 等等。


總結(jié)

1、NULL 用于表示缺失的值或遺漏的未知數(shù)據(jù),不是某種具體類型的值,不能對其使用謂詞
2、對 NULL 使用謂詞后的結(jié)果是 unknown,unknown 參與到邏輯運(yùn)算時(shí),SQL 的運(yùn)行會和預(yù)想的不一樣
3、 IS NULL 整個(gè)是一個(gè)謂詞,而不是:IS 是謂詞,NULL 是值;類似的還有 IS TRUE、IS FALSE
4、要想解決 NULL 帶來的各種問題,最佳方法應(yīng)該是往表里添加 NOT NULL 約束來盡力排除 NULL

我的項(xiàng)目中有個(gè)硬性規(guī)定:所有字段必須是 NOT NULL,建表的時(shí)候就加上此約束


作者:youzhibing2904?

https://www.cnblogs.com/youzhibing/p/11337745.html

瀏覽 30
點(diǎn)贊
評論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)
評論
圖片
表情
推薦
點(diǎn)贊
評論
收藏
分享

手機(jī)掃一掃分享

分享
舉報(bào)

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 日本人妻A片成人免费看片| 狠狠av| 小黄片网站| 亚洲精品mv| 九九久久精品视频| 粉嫩av懂色av蜜臀av分享| 国产在线小视频| 无码aa| 国产在线在线| AV黄色网| 久久久久婷婷| 婷婷五月丁香五月| 91在线免费视频| 3D精品啪啪一区二区三区| 日韩无码AV一区二区三区| 国产一卡二卡在线观看| 国产中文字幕在线| 大香蕉尹人在线视频| 最新av网| 亚洲人成人无码一区二区三区| 久久99精品久久久水蜜桃| 另类av| 天天干婷婷五月天| 久草福利网| 日韩精品久久| 18禁裸体美女| 熟女3p| 国产激情视频网站| 免费v片在线观看| 亚洲欧美国产精品专区久久| 黄色免费毛片| 激情无码国产| 吴梦梦md0069| 91超碰在线播放| 午夜国产在线| 影音先锋91| 免费看的黄色视频| 搞搞电影91| 欧美日韩色| 国产你懂的| 69av网站| 亚洲成人无码电影| 在线观看一级片| 欧美视频第一页| 亚洲国产精品欧美久久| 天堂8在线| 亚洲人妻av| 国产一区二区视频在线| 性爱乱伦视频| 人人操人人妻人人爽| 九九成人电影| 日本天堂网在线观看| 性爱福利视频| 人人妻日日摸狠狠躁| 日批免费视频| 思思热精品在线| 成人毛片100免费观看| 中日美朝美女一级片免费看| 囯产精品99久久久久久WWW| 一道本在线| 亚洲精品久久久久毛片A级绿茶| 中文字幕在线观看网站| 四川少BBB搡BBB爽爽爽| 日韩一级黄色视频| 一本色道综合久久欧美日韩精品| 人人干人人操人人摸| 日本一区二区精品| 天天艹夜夜艹| 欧美AAA黄片| 国产精品秘久久久久久99 | 一本一道久久a久久精品综合| 国产学生妹| 熟女视频国产| 日本色视频| 伊人久久AV诱惑悠悠| 天天色影院| 国产麻豆精品ThePorn| 做爱视频无码| 精品交换一区二区三区无码| 色五月婷婷五月| 69成人精品| 久久综合中文字幕| 狠狠色噜噜狠狠狠7777| 亚洲无码精品视频| 91蝌蚪在线观看| 九九热无码| 日韩1区| 无码欧美精品一区二区| 欧美一级婬片免费视频黄| 荫蒂添到高潮免费视频| 中文久久| 北条麻妃人妻中文字幕91影视| 学生妹作爱片| 九九99精品| 九色91PORNY国产| 日本一级一片免费视频| 九九香蕉视频| 香蕉视频a| 成人无码一区二区| 摸BBB搡BBB搡BBBB| 抠骚逼| 无码视频一区二区三区| 国产小视频在线看| 亚洲av网站| 亚洲女人视频| 乱伦AV网| 小骚逼操死你| 狠狠干天天日| a片小视频| 日韩人妻一区二区三区| 亚洲国产欧美日韩在线| 天天精品无码| 九九色影院| 蜜臀久久99精品久久久久久婷婷| 日韩操逼网| 一级黄色操逼视频| 中文字幕在线观看网| 亚洲视频一区二区三区| 一级黄色片免费| 亚洲视频精选| 日韩精品三区| 日本翔田千里奶水| 日本国产在线视频| 91日综合欧美| 操逼影片| 中文不卡在线| 黄色免费毛片| 日韩视频中文字幕| 2025国产成人精品一区| 日批网站在线| 免费一级婬片AA片观看| 狠狠干2018| 天天干天天干天| 大香蕉伊人网视频| 精品福利导航| 国产在线观看AV| 国产精彩无码视频| 蜜桃视频免费网站| 黄色福利视频| 北条麻妃99| 91碰| 国产精品黑人ThePorn| 日韩人妻精品中文字幕| 少妇高潮无码| 亚洲ww国产a大作| 五月婷婷免费视频| 日韩av在线免费观看| 婷婷五月天小说| 黄色在线播放| 激情婷婷亚洲| 91人妻视频| 亚洲色情在线观看| 黄片51| 秋霞理伦| 亚洲国精产品| 男女拍拍拍| 亚洲综合视频在线观看| 欧美日韩成人一区二区三区| 久久另类TS人妖一区二区免费| 国产黄色AV片| 足浴小少妇-88AX| 婷婷内射| 日韩不卡视频在线| 一区四区视频| 91爱看| 人人干人人摸| a视频在线免费观看| 国产日韩欧美一区二区| 粉嫩小泬BBBBBB免费看| 91大神在线免费观看| 中文字幕一区二区蜜桃| 91啦丨露脸丨熟女| www.国产在线| 国产日韩欧美一区二区| 91超碰免费在线| 豆花视频在线播放| 免费看三级网站| 老骚老B老太太A片| 久热无码| 67194熟女| 亚洲日韩欧美在线观看| 国产1区2区3区中文字幕| 国产思思99re99在线观看| 日韩精品成人AV| 国产性爱自拍一下| 中文字幕av久久久久久欧洲尺码| 蜜桃视频成人app| 精品无码不卡| 精品国产乱子伦一区二区三区,小小扐| 久色伊人| 日韩成人A片| 三级片网站在线观看| 围内精品久久久久久久久白丝制服 | 三级片AAA成人免费| 欧美色图在线播放| 国产精品宾馆在线| 亚洲人气无码AV| 青青草免费在线视频| 豆花成人社区,视频| 午夜成人免费视频| 日本爽妇网| 91视频网站在线| 无码伦理| 中文字幕一区二区三区在线观看 | 国产理论视频在线观看| 日韩欧美性爱| 永久免费av| 久久免费在线视频| 久久肏屄| 欧美后门菊门交3p、| 天天干天天干天天操| 日欧视频| 国产福利免费视频| 午夜操B| 亚洲激情精品| 国产乱码精品一区二区三区的特点| 亚洲AV无码成人精品区天堂小说| 91熟女视频| 亚洲成人黄色电影| 国产日批| 中文字幕乱伦| 久青草视频| 国产精品久久久久久久久久久久| 亚洲AV免费在线观看| 亚洲理论电影| 欧美黄色一级视频| 人人操人人插| 亚洲免费视频在线| 特级特黄AAAAAAAA片| 97人妻无码一区二区| 人人草人人摸人人看| 麻豆黄色片| 日本A在线观看| 国产三级片精品| www.热久久| 北条麻妃中文字幕在线观看| 四虎成人精品无码永久在线的客服| 特级西西人体WWWWW| 国产成人精品av| 韩国精品无码| 国产无码播放| 亚洲av电影网| 国产一级a爱做片免费☆观看| 日皮视频免费| 91人人澡人人爽人人看| 在线观看黄| 北条麻妃视频| 亚洲操逼无码| 色大香蕉伊人| 少妇搡BBBB搡BBB搡造水多,| 免费av观看| av福利在线| 蜜桃传媒一区二区亚洲A| 中文字幕第72页| 在线观看老湿视频福利| 天天摸天天日| 国产一级A片久久久免费看快餐 | 91成人福利视频| 亚洲精品一区二区三区新线路| 欧美精品区| 亚洲AV无码成人精品国产五月天| 国产成人免费在线观看| 99热超碰| 国产人国产视频成人免费观看… | 日韩91视频| 超碰在线91| 黄片高清免费观看| 18禁成人A∨片| 日韩在线成人中文字幕亚洲| 日韩亚洲在线观看| 懂色av蜜臀av粉嫩av分享| 四川少妇BBBB槡BBBB槡| 中文丰满亲子伦| www.狠狠操| 久久久精品电影91| 97av在线| 成功精品影院| 久久久WWW成人免费精品| 一本色道久久综合无码人妻| 中文字幕日本| 少妇激情网站| 欧美色精品| 蜜桃亚洲AV无码一区二区三区| 中文子幕免费毛片| 色天堂网站| 黄色三级视频在线观看| 黄色网址av| 亚洲成人视频一区二区| 色欲大香蕉| 日韩亚洲欧美在线观看| 精品人妻一区| 亚洲AV成人片色在线观看麻豆 | 大香蕉99| 亚洲欧洲久久电影| 国产一区视频18| 翔田千里无码播放| 国产亚洲日韩在线| 18禁在线| 亚洲欧美手机在线| 人操人碰| 国产无套免费网站69| 一级女婬片A片AAAA片| 日韩欧美一区二区三区不卡| 欧洲无码一区二区三区| AV无码一区二区| 午夜无码av| 在线观看无码视频| 欧美性爱在线网站| 午夜天堂精品久久久| 丰满少妇一区二区三区| 日韩黄色视频| 亚洲视频在线观| 欧美精品亚洲| 黃色一级A一片人与| 日本三级片在线动| 一级黄色片免费观看| 欧美级毛片一进一出夜本色| 日韩一级黄| 夜夜骚| 五月天婷婷网址| 亚洲中文免费视频| 免费亚洲婷婷| 91AV在线观看视频| 先锋影音av资源站| 免费在线观看A片| 特级西西444WWW高清大视频 | 黄片免费播放| 日本免费A片| 国产成人69免费看| 乱子伦国产精品www| 777777视频| 亚洲性图第一页| 亚洲成人在线网| 色色欧美| 狠狠精品| 国产黄片免费视频| 一区二区三区电影高清电影免费观看| 亚洲影视中文字幕| 午夜福利视频网站| 在线观看的av| 四川BBB搡BBB爽爽爽欧美| 不卡视频一区二区三区| 国产乱伦电影| 2019中文字幕mv第三季歌词| AV自拍偷拍| www.俺去也| 国产精品自在线| 国产在线拍偷自揄拍无码一区二区| 亚洲免费清高| 91久久午夜无码鲁丝片久久人妻 | 天天干天天干| 在线观看日韩欧美| 天堂亚洲| 8050午| 色天使av| 国产清纯可爱美女自卫裸贷偷情| 懂色AV成人| 国产h在线观看| 久久久久久99| 超碰在线网站| 日韩精品高清中文| 欧美888| 人人看人人射| 国产成人小电影| 超碰一级片| 日逼99| 青青草精品在线视频| 黄色A级片| 欧美亚洲视频在线观看| 日韩人妻精品无码制服| 婚闹不堪入目A片| 欧美日韩国产在线播放| 成人肏逼视频在线| 日本乱伦网站| 国产91在线视频| 淫香淫色天天影视| 婷婷99| 日韩成人无码精品| 一区二区三区无码在线| 手机看片1024久久| 天天撸天天射| 久久成人久久| 欧美不卡一区二区三区| A级视频网| 中文字幕日韩电影| 在线操B视频| sese在线| 日本欧洲三级| 成人首页| 99er这里只有精品| 草b视频| 中文字幕在线欧美| 亚洲无码精品一区二区| 婷婷五月18永久免费视频| 欧美成人激情视频| 五月天亚洲无码| 国产一级a一级a免费视频| 激情网站免费| 精品成人在线| 欧美日韩免费观看视频| 国产女人18毛片水真多18精品| 2021av| 99re热| 另类BBwBBw| 欧美精品久久久久久久久老牛影院| 成熟的国模冰莲[2]| 狠狠干综合| 国产高潮白浆喷| 亚洲AV自拍| 毛片高清无码| 中文字幕高清视频| 国产—a毛—a毛A免费| 亚洲婷婷在线观看| 国产一级大片| 黄片大全在线免费观看| 国产在线观看免费成人视频| 久久久91精品国产一区苍井空| 爱搞在线观看wwww| 男男做受A片AAAA| 青青草原免费在线视频| 成人精品在线| 欧美成年人网站| 日本午夜三级视频| 小黄片免费在线观看| 丁香六月婷| 中文字幕在线免费视频| 欧美亚洲国产日韩| 精品无码一| 69成人免费视频| 国产精品免费人成网站酒店| 四川w搡BBB搡wBBB搡| 中文字幕亚洲第一| 欧美A级视频在线观看| 国产足交| 综合合一品道| 球AV在线| 中文字幕人成人乱码亚洲电影| 97播播| 波多野结衣无码视频| 一区二区三区无码高清| 国产又粗又长又硬又大毛苴茸图片| 成人A片在线观看| 51AV在线| 无码任你操| 国产无遮挡又黄又爽免费网站| 丁香激情五月少妇| 91香蕉国产成人App| 亚洲一级A片| 麻豆影音先锋| 五月丁香婷婷在线观看| 另类av| 北条麻妃高清无码| 水果派红桃AV解说| 人人人操| 日本乱伦中文字幕| 91久久人澡人妻人人做人人爽97| 按摩性高湖婬AAA片A片中国 | av无码导航| 嫩操影院| 91精品大屁股白浆自慰久久久| 亚洲精品秘一区二区三区影| 国产精品视频一区二区三区在线观看| 成人日韩无码| 亚欧洲精品| 国产精品1区2区3区| AV草逼| 日日碰狠狠添| 久久亚洲免费视频| 91x色| www黄片视频| 午夜操| 婷婷丁香五月激情| 日韩区一中文字幕a∨| 香蕉在线播放| 天天狠天天干| 一级A片在线观看| 国产不卡一区| 91精品国产一区二区| 久久国产日韩| 亚欧成人在线视频| 香蕉福利视频| 九九九中文字幕| 国产精品一区二区三区在线 | 日批视频在线观看| 亚洲一区翔田千里无码| 亚洲视频精选| 91白浆肆意四溢456| 你懂的视频在线| 欧美大香蕉在线视频| 免费三级毛片| 午夜8050| 日韩成人性爱网站| 天堂在线视频免费| 青青草原亚洲| 久久精品三级片| 麻豆午夜成人无码电影| 四虎黄色影院| 大伊香蕉视频| 日逼大香蕉| 日韩免费Av| 欧美狠狠干| 日韩人妻一区二区三区| 靠逼免费视频| 99Re66精品免费视频| 69久久久久| 无码热| 大鸡巴日小逼| 人妻精品一区二区在线| 日韩操B| 色综合色| 亚洲无码AV电影| 在线免费观看黄色小视频| 亚洲色图欧美另类| 欧美日韩中文字幕在线视频 | 日日碰日日摸| 久久精品夜色噜噜亚洲A∨| 日韩欧美成人在线观看| 亚洲人妻有码| 日韩日批| 少妇性受XXXX黑人XYX性爽| 成人毛片在线大全免费| 99re6热在线精品视频功能| 无码免费观看| 免费黄色av| 你懂的视频在线观看| 高清无码视频在线免费观看| 无码日| 亚洲无码成人在线观看| 欧美日韩国产成人在线| 黄色无遮挡| 久久偷拍网| 日本一本草久p| a片视频免费| 国产A片大全| 骚色综合| 草久伊人| 啪啪免费| 日日久视频| 欧美操逼操| 欧美日韩性色无码免费| AV无码一区| 乱伦一区二区三区| 亚洲成人在线视频免费观看| 人人操日本| 亚洲天堂电影网| 日韩一区二区在线看在线看| 霸道总裁雷总各种姿势白浆爱情岛论坛 | 黑人大肉棒| 丁香六月婷婷综合缴| 人人色在线观看| 日韩AV中文字幕在线播放| 亚洲精品国产精品国自产| 成人免费网站在线观看| 日韩欧美黄色电影| 亚洲自拍中文字幕| 六月婷婷网| 国产精品久久久999| 中文子幕免费毛片| 国产成人视频免费| 3344在线观看免费下载视频| 亚洲无码在线免费| 人人妻人人爱人人操| 成人视频无码| 欧美国产精品一二三产品在哪买 | 欧美A片在线免费观看| 国产性受XXXXXYX性爽| 日日操天天操| 在线无.码| 亚洲AV一二三区| 日本精品黄色视频| 日本狠狠操| 无码人妻精品一区二区三区99仓| 成人午夜福利电影| 欧美日本亚洲| 国产91在线视频| 久久夜色精品噜噜亚洲AV| 免费成人在线网站| av影音先锋| 69乱伦视频| 国产白丝精品91爽爽久久| 成人黄色免费看| 天天做天天爽| 国产欧美综合一区二区三区| 香蕉视频91| 国产婷婷| 极品少妇视频| 黄色视频免费| 亚洲在线资源| 亚洲天堂精品在线| 国产乱妇乱子伦视频免费观看让女人 | 超碰人人操在线| 国精产品秘成人一区二| 亚洲无码A片在线观看| 国产av福利| 老司机AV91| 国产精品2025| 精品视频网站| 一区二区三区四区精品视频| 欧美日韩精品一区二区| a毛片| 国产无套内射在线观看| 日韩AV高清| 人人做人人爱人人做人人乐的意思| 无码人妻日韩精品一区二区三| 777国产盗摄偷窥精品0000| 久久久极品| A天堂视频| 亲子伦一区二区三区| 特级黄色毛片| 日韩一欧美| 99热官方网站| A片网站在线观看| 99久久国| 69视频在线观看| 青青草做爱视频| 亚洲AV无码乱码国产精品| 激情视频免费在线观看| 婷婷激情久久| 人妻电影亚洲av| 8x8拨牐拨牐拨牐永久免费| 亚洲一级二级三级片| 成人无遮挡| 九九九精彩视频| 成人毛片在线播放免费| 色呦呦视频| 啪啪网站免费观看| 欧美亚洲激情| 日皮视频在线观看| 亚洲色激情| 久久国产毛片| 色播婷婷五月天| 一纹A片免费观看| aaa精品视频| 人人摸人人操人人射| 国精品伦一区一区三区有限公司 | 精品久久免费一区二区三区 | 欧美熟妇一区二区三区| 少妇黄色视频| 人人妻人人澡| 久久久久亚洲AV无码成人片| 国产精品久久久久久久久久久久久 | AV在线一区二区三区| 涩涩99| 国产女人18毛片水18精品软件| 一牛影视精品av| 黄色内射视频| 亚洲最大的成人网站| 乱伦视频网| 最好看2019中文在线播放电影 | 亚洲在线大香蕉| 女人天堂av| 69亚洲视频| 亚洲AV无码成人片在线| A国产| 激情久久久| 国产日本欧美韩国久久久久| 色情五月婷婷| 人人看人人摸人人搞| 最新中文字幕777私人在线| 99热国产精品| 久久久WWW成人免费无遮挡大片 | AV无码一区二区| 国产福利91精品一区二区三区| 麻豆精品在线播放| 午夜在线观看视频| 日韩色道| 精品无码一区二区三区四区久久久软件 | 超碰在线观看2407| 日本一本在线| 色老板在线观看永久免费视频| 97色色婷婷五月天| 成人亚洲AV| 男女爱爱动态图| 日韩一区二区无码视频| 91高潮| 欧美精品18videosex性欧美| 五月黄片| 国产日韩欧美在线播放| 人人摸人人搞| 国产精品国产三级囯产普通话2 | 东北奇淫老老妇| 大香蕉尹在线| 人人人操| 欧美一级一区| 大香蕉做爱| 91在线无码精品秘国产三年| 精品久久免费一区二区三区 | 夜夜操夜夜骑| 无码插逼| 成人做爱免费看| 天天日天天搞| 亚洲性爱视屏| 久久免费视频,久久免费视频 | 国产在线a| 黄片WWW| 三级视频网| 无码一级A片| 日韩三级成人| 刘玥91精品一区二区三区| 欧美一级a视频免费放| 欧美日韩91| 韩国一级AV| 五月丁香伊人| 爱爱爱爱网| 无码中文字幕网站| 在线观看中文字幕亚洲| 狠狠干婷婷| 黄网站在线观看| 欧美精产国品一二三产品价格| 久久精品福利视频| 99色国产| 欧美性BBB槡BBB槡BBB| 亚洲最大三级片| 91蝌蚪在线观看| 欧美成人黄色电影| 无码一区视频| 日韩成人无码人妻| 欧美一级片免费看| 国产精品99久久久久久成人| 久久激情国产| 黄色操逼| 一本一道久久a久久精品蜜桃| 国产操骚逼| 波多野结衣AV在线| 一本到在线视频| 健身房被教练3p喷水了| 黄色电影网站在线观看| 国产老熟女高潮毛片A片仙踪林 | 翔田千里被躁120分钟| 亚洲视频高清无码| 伊人久久大香色综合久久| 亚洲成人AV在线观看| 日本欧美成人片AAAA| 暗呦网一区二区三区| 成人影视在线免费观看| 天天综合久久| 国产又猛又黄又爽| 国产婷婷色一区二区| 欧美日韩国产在线播放| 午夜性爱福利| 婷婷丁香五月亚洲| 91熊猫视频| 无码人妻精品一区二区蜜桃91 | 国产av天堂| 黄色无码在线观看| 久久亚洲中文字幕乱码| 91人妻无码精品一区二区三区| 国产丝袜视频| 亚洲AV毛片成人精品网站| 日本免费一区二区三区| 91香蕉国产视频| 国产午夜男女性爱| 99ri精品| 国产夫妻av| 欧美丰满美乳XXⅩ高潮www| 日韩无码一区二区三| 苍井空一区二区| 91久久人澡人妻人人做人人爽97| 成人黄色大香蕉| 成人av天堂| 五月丁香欧美综合| 色色网站免费| 国产黄色精品视频| 深夜av| 国产精品久久AV电影| www.777av| 亚洲AV无码乱码国产精品黑人| 国产精品三级片| 亚洲av| 日韩在线女优天天干| 荫蒂添出高潮A片视频| 中文字幕av一区| 成人激情视频A极| 国产又爽又黄在线看视频| 另类老妇奶性生BBwBBw偷拍| 亚洲AV成人片无码网站| 特黄无码| 奇米影视色偷偷| 日韩午夜成人电影| 九九九九综合| 国产在线在线| 无码人妻一区| 丁香五月中文| 青青精品视频| 在线无码免费观看| 国产精品无码免费视频| 欧美A级黄片| 91视频一区二区| 乱伦内射视频| 菊花插综合网| 国产在线观看国产精品产拍| 黄色电影A| 夜夜bb| 国产精品久久久久久久久免费无码| 成人超碰| 精品欧美成人片在线| 免费看欧美成人A片| 人妻日韩| 99er在线视频| 国产高清无码免费在线观看| 免费中文视频| 亚洲AV毛片| 色欲91| 色婷婷7777| AV天堂免费播放| 人妻无码一区二区三区摄像头| 亚洲精选一区二区三区| 高清毛片AAAAAAAAA郊外| 国产性爱自拍一下| av中文字幕在线播放| 日韩一级片在线播放| 黄色A毛片| 人妻无码一区二区三区免费| 久久人妻熟女中文字幕av蜜芽| 京东一热本色道久久爱| 久久AA| 亚洲伦理一区二区| 成人电影久久久| 欧美成人免费观看| 韩国三级无码| 大香蕉久久久| 无码AV大香线蕉伊人| 操屄网站| 91视频免费| 韩日无码人妻| 99re这里只有| 成人特级毛片全部免费播放| 日韩无码精品一区二区三区| 亚洲AV无码乱码A片无码沈樵| 国产免费观看av| 伊人成人在线观看| 精品欧美一区二区精品久久| 麻豆md0049免费| 北条麻妃三区| 性爱xxxxx| 国产欧美一级片| 无码视频播放| 淫揉BBB揉揉揉BBBBB| av片在线观看| 免费黄色一级电影| 国产一级婬乱A片| 日韩国产综合| 日韩视频一二三| 无码高清免费| 日韩人妻斩| 一级A色情大片| 蜜桃视频com.www| 欧一美一婬一伦一区二区三区| 美女av免费| 神马午夜精品95| 91人人澡人人爽人人看| 天天干一干| 国产精品乱| 亚洲人妻在线播放| 四川BBB嫩BBBB爽BBBB| 先锋影音成人资源| 久久日精品| 尤物av在线| 欧美怕怕怕| 丁香五月少妇| 国产人人干| 午夜激情av| 国产一级特黄A片| 欧美亚洲性爱| 丝袜乱伦| 成人午夜黄片| 男女做爱网站| 午夜激情免费| 亚久久久| 三级网址在线| 2025中文字幕在线| 日韩群交视频| 四虎www| 蝌蚪窝在线视频免费观看| 国产探花自拍| 久久久精品淫秽色情| 亚洲欧美日本在线| 1024香蕉视频| 国产一级A片在线观看| 99在线精品视频在线观看| 久久久免费黄色视频| 麻豆91久久久| 成人做爱免费看| 自拍毛片| AV在线播放中文字幕| 裸体黄色一极大片| 干日本少妇| www99| A视频免费在线观看| 大逼影院| 家庭乱伦影视| 久久免费成人电影| 梁祝艳谭A级毛片| 天堂AV无码AV| 九久久| 欧美成人电影在线观看| 欧美性爱A| 亚洲综合色网站| 大香蕉老师| 欧美嗯啊|