黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術文章
文章詳情頁

MySQL多表查詢與7種JOINS的實現舉例

瀏覽:264日期:2023-02-18 16:43:18
目錄
  • 前言
  • 1.案例多表連接
    • 笛卡爾積(或交叉連接)
  • 2. 多表查詢分類講解
    • 角度1:等值連接與非等值連接
    • 角度2:自連接與非自連接
    • 角度3:內連接與外連接
  • 3. SQL99語法實現多表查詢
    • 內連接(INNER JOIN)的實現
    • 外連接(OUTER JOIN)的實現
  • 4. UNION的使用
    • 合并查詢結果
    • UNION操作符
    • UNION ALL操作符
  • 5. 7種SQL JOINS的實現
    • 6.SQL99語法新特性
      • 自然連接
      • USING連接
    • 附錄:常用的 SQL 標準有哪些
      • 練習題
        • 總結

          前言

          多表查詢,也稱為關聯查詢,指兩個或更多個表一起完成查詢操作。

          前提條件:這些一起查詢的表之間是有關系的(一對一、一對多),它們之間一定是有關聯字段,這個關聯字段可能建立了外鍵,也可能沒有建立外鍵。比如:員工表和部門表,這兩個表依靠“部門編號”進行關聯。

          1.案例多表連接

          案例說明

          從多個表中獲取數據:

          # 錯誤的實現方式:每個員工都與每個部門匹配了一遍。SELECT employee_id,department_nameFROM employees,departments;  # 查詢出2889條記錄

          分析錯誤情況:

          SELECT COUNT(employee_id) FROM employees;#輸出107行SELECT COUNT(department_id)FROM departments;# 輸出27行SELECT 107*27 FROM dual;

          因此把多表查詢中出現的問題稱為:笛卡爾積的錯誤。

          笛卡爾積(或交叉連接)

          笛卡爾乘積是一個數學運算。假設我有兩個集合 X 和 Y,那么 X 和 Y 的笛卡爾積就是 X 和 Y 的所有可能組合,也就是第一個對象來自于 X,第二個對象來自于 Y 的所有可能。組合的個數即為兩個集合中元素個數的乘積數。

          SQL92中,笛卡爾積也稱為交叉連接,英文是 CROSS JOIN 。在 SQL99 中也是使用 CROSS JOIN表示交叉連接。它的作用就是可以把任意表進行連接,即使這兩張表不相關。

          因此上面的代碼可以等價于:

          # 錯誤的方式SELECT employee_id,department_nameFROM employees CROSS JOIN departments;# 查詢出2889條記錄

          笛卡爾積的錯誤會在下面條件下產生:

          • 省略多個表的連接條件(或關聯條件)
          • 連接條件(或關聯條件)無效
          • 所有表中的所有行互相連接

          為了避免笛卡爾積, 可以在 WHERE 加入有效的連接條件。加入連接條件后,查詢語法:

          # 在表中有相同列時,在列名之前加上表名前綴。SELECT last_name, department_name, departments.department_id;FROM employees, departments# 連接條件WHERE employees.department_id = departments.department_id;

          注意:在表中有相同列時,在列名之前加上表名前綴。

          建議:從sql優化的角度,建議多表查詢時,每個字段前都指明其所在的表。

          此外,方便起見,表名也可以用別名代替。但是如果給表起了別名,一旦在SELECT或WHERE中使用表名的話,則必須使用表的別名,而不能再使用表的原名。

          多個連接條件的拼接需要使用 AND 關鍵字。例如:

          SELECT e.employee_id,e.last_name,d.department_name,l.city,e.department_id,l.location_idFROM employees e, departments d, locations lWHERE e.`department_id` = d.`department_id`AND d.`location_id` = l.`location_id`;

          如果有 n 個表實現多表的查詢,則需要至少 n-1 個連接條件。

          2. 多表查詢分類講解

          角度1:等值連接與非等值連接

          這里涉及 job_grades 表,通過查詢可知,每個薪水都有其相應的等級區間。

          SELECT *FROM job_grades;

          這里通過員工表與其相應的區間等級做一個匹配:

          SELECT e.last_name,e.salary,j.grade_levelFROM employees e,job_grades jWHERE e.`salary` between j.`lowest_sal` and j.`highest_sal`;# WHERE e.`salary` >= j.`lowest_sal` AND e.`salary` <= j.`highest_sal`;

          角度2:自連接與非自連接

          當table1和table2本質上是同一張表,只是用取別名的方式虛擬成兩張表以代表不同的意義。然后兩個表再進行內連接,外連接等查詢。

          連接的條件是WORKER表中的MANAGER_ID和MANAGER表中的EMPLOYEE_ID相等。

          題目:查詢employees表,返回“Xxx works for Xxx”

          SELECT CONCAT(worker.last_name ," works for ", manager.last_name)FROM employees worker, employees managerWHERE worker.manager_id = manager.employee_id ;
          • CONCAT的作用是連接字符串。

          角度3:內連接與外連接

          內連接: 合并具有同一列的兩個以上的表的行, 結果集中不包含一個表與另一個表不匹配的行

          外連接: 兩個表在連接過程中除了返回滿足連接條件的行以外還返回左(或右)表中不滿足條件的行 ,這種連接稱為左(或右) 外連接。沒有匹配的行時, 結果表中相應的列為空(NULL)。

          如果是左外連接,則連接條件中左邊的表也稱為主表,右邊的表稱為從表。

          如果是右外連接,則連接條件中右邊的表也稱為主表,左邊的表稱為從表。

          SQL92:使用(+)創建連接

          在 SQL92 中采用(+)代表從表所在的位置。即左或右外連接中,(+) 表示哪個是從表。

          但是Oracle 對 SQL92 支持,而 MySQL 則不支持 SQL92 的外連接。

          # 左外連接SELECT last_name,department_nameFROM employees ,departmentsWHERE employees.department_id = departments.department_id(+);# 右外連接SELECT last_name,department_nameFROM employees ,departmentsWHERE employees.department_id(+) = departments.department_id;
          • 在 SQL92 中,只有左外連接和右外連接,沒有滿(或全)外連接。

          3. SQL99語法實現多表查詢

          SQL99語法中使用 JOIN …ON 的方式實現多表的查詢。這種方式也能解決外連接的問題。

          MySQL是支持此種方式的。

          • 可以使用 ON 子句指定額外的連接條件。
          • 這個連接條件是與其它條件分開的。
          • 關鍵字 JOIN、INNER JOIN、CROSS JOIN 的含義是一樣的,都表示內連接

          內連接(INNER JOIN)的實現

          SELECT 字段列表
          FROM A表 INNER JOIN B表
          ON 關聯條件
          WHERE 等其他子句;

          外連接(OUTER JOIN)的實現

          左外連接(LEFT OUTER JOIN)

          語法:

          SELECT e.last_name, e.department_id, d.department_nameFROM employees e LEFT OUTER JOIN departments dON (e.department_id = d.department_id) ;

          右外連接(RIGHT OUTER JOIN)

          語法:

          SELECT e.last_name, e.department_id, d.department_nameFROM employees e RIGHT OUTER JOIN departments dON (e.department_id = d.department_id) ;

          滿外連接(FULL OUTER JOIN)

          滿外連接的結果 = 左右表匹配的數據 + 左表沒有匹配到的數據 + 右表沒有匹配到的數據。

          • SQL99是支持滿外連接的。使用FULL JOIN 或 FULL OUTER JOIN來實現。
          • 但是MySQL不支持FULL JOIN,但是可以用 LEFT JOIN UNION RIGHT JOIN代替。

          4. UNION的使用

          合并查詢結果

          利用UNION關鍵字,可以給出多條SELECT語句,并將它們的結果組合成單個結果集。

          • 合并時,兩個表對應的列數和數據類型必須相同,并且相互對應。
          • 各個SELECT語句之間使用UNION或UNION ALL關鍵字分隔。

          語法格式:

          SELECT column,... FROM table1UNION [ALL]SELECT column,... FROM table2

          UNION操作符

          UNION 操作符返回兩個查詢的結果集的并集,去除重復記錄。由于需要去除重復,因此它的性能相對低一點。

          UNION ALL操作符

          UNION ALL操作符返回兩個查詢的結果集的并集。對于兩個結果集的重復部分,不去重。

          如果明確知道合并數據后的結果數據無重復數據,盡量使用UNION ALL語句,以提高數據查詢的效率。

          5. 7種SQL JOINS的實現

          代碼實現

          中圖:內連接 A ∩ B

          SELECT employee_id,last_name,department_nameFROM employees e JOIN departments dON e.`department_id` = d.`department_id`;

          左上圖:左外連接

          SELECT employee_id,last_name,department_nameFROM employees e LEFT JOIN departments dON e.`department_id` = d.`department_id`;

          右上圖:右外連接

          SELECT employee_id,last_name,department_nameFROM employees e RIGHT JOIN departments dON e.`department_id` = d.`department_id`;

          左中圖:A - A ∩ B

          SELECT employee_id,last_name,department_nameFROM employees e LEFT JOIN departments dON e.`department_id` = d.`department_id`WHERE d.`department_id` IS NULL

          右中圖:B - A ∩ B

          這里解釋一下WHERE e.department_id IS NULL,首先是由右外連接衍生出來的,減去中間交集的部分,然后交際的部分是包含A和B的,只需要用條件從表A為NULL,即可將在B中有A的部分篩掉。

          SELECT employee_id,last_name,department_nameFROM employees e RIGHT JOIN departments dON e.`department_id` = d.`department_id`WHERE e.`department_id` IS NULL

          左下圖:滿外連接,左中圖 + 右上圖 A∪B

          SELECT employee_id,last_name,department_name FROM employees e LEFT JOIN departments dON e.`department_id` = d.`department_id` WHERE d.`department_id` IS NULLUNION ALL  #沒有去重操作,效率高SELECT employee_id,last_name,department_name FROM employees e RIGHT JOIN departments d ON e.`department_id` = d.`department_id`;

          右下圖:左中圖 + 右中圖 A ∪ B - A ∩ B 或者 ( A - A ∩ B) ∪ ( B - A ∩ B)

          SELECT employee_id,last_name,department_nameFROM employees e LEFT JOIN departments dON e.`department_id` = d.`department_id`WHERE d.`department_id` IS NULLUNION ALLSELECT employee_id,last_name,department_nameFROM employees e RIGHT JOIN departments dON e.`department_id` = d.`department_id`WHERE e.`department_id` IS NULL

          6.SQL99語法新特性

          自然連接

          可以把自然連接理解為 SQL92 中的等值連接。它會幫你自動查詢兩張連接表中所有相同的字段,然后進行等值連接。

          在 SQL92 標準中:

          SELECT employee_id,last_name,department_nameFROM employees e JOIN departments dON e.department_id = d.department_idAND e.manager_id = d.manager_id;

          在 SQL99 中你可以寫成:

          SELECT employee_id,last_name,department_nameFROM employees e NATURAL JOIN departments d;

          USING連接

          當我們進行連接的時候,SQL99 還支持使用 USING 指定數據表里的同名字段進行等值連接。但是只能配合JOIN一起使用。比如:

          SELECT employee_id,last_name,department_nameFROM employees e JOIN departments dUSING (department_id);

          你能看出與自然連接 NATURAL JOIN 不同的是,USING 指定了具體的相同的字段名稱,你需要在 USING的括號 () 中填入要指定的同名字段。同時使用 JOIN…USING 可以簡化 JOIN ON 的等值連接。它與下面的 SQL 查詢結果是相同的:

          SELECT employee_id,last_name,department_nameFROM employees e ,departments dWHERE e.department_id = d.department_id;

          總結:表連接的約束條件可以有三種方式:WHERE, ON, USING

          • WHERE:適用于所有關聯查詢
          • ON :只能和JOIN一起使用,只能寫關聯條件。雖然關聯條件可以并到WHERE中和其他條件一起寫,但分開寫可讀性更好。建議一個JOIN一個ON的寫法。
          • USING:只能和JOIN一起使用,而且要求兩個關聯字段在關聯表中名稱一致,而且只能表示關聯字段值相等。

          注意:

          要控制連接表的數量。多表連接就相當于嵌套 for 循環一樣,非常消耗資源,會讓 SQL 查詢性能下降得很嚴重,因此不要連接不必要的表。在許多 DBMS 中,也都會有最大連接表的限制。

          附錄:常用的 SQL 標準有哪些

          SQL 存在不同版本的標準規范,因為不同規范下的表連接操作是有區別的。

          SQL 有兩個主要的標準,分別是 SQL92 和 SQL99 。92 和 99 代表了標準提出的時間,SQL92 就是 92 年
          提出的標準規范。當然除了 SQL92 和 SQL99 以外,還存在 SQL-86、SQL-89、SQL:2003、SQL:2008、
          SQL:2011 和 SQL:2016 等其他的標準。

          最重要的 SQL 標準就是 SQL92 和 SQL99。一般來說 SQL92 的形式更簡單,但是寫的 SQL 語句會比較長,可讀性較差。而 SQL99 相比于 SQL92 來說,語法更加復雜,但可讀性更強。

          SQL92 和 SQL99 是經典的 SQL 標準,也分別叫做 SQL-2 和 SQL-3 標準。也正是在這兩個標準發布之后,SQL 影響力越來越大,甚至超越了數據庫領域。現如今 SQL 已經不僅僅是數據庫領域的主流語言,還是信息領域中信息處理的主流語言,在圖形檢索、圖像檢索以及語音檢索中都能看到 SQL 語言的使用。

          練習題

          1.顯示所有員工的姓名,部門號和部門名稱

          SELECT last_name, e.department_id, department_nameFROM employees eLEFT OUTER JOIN departments dON e.department_id = d.department_id;

          2.查詢90號部門員工的job_id和90號部門的location_id

          SELECT job_id, location_idFROM employees eJOIN departments dON e.department_id = d.department_idWHERE e.department_id = 90;

          順便提一句,寫這道題時ON語句后加了個; 導致查詢總是不對,分析了好久才發現。不得不感嘆,SQL中分號真的不要亂加。

          3.選擇所有有獎金的員工的 last_name , department_name , location_id , city

          SELECT last_name , department_name , d.location_id , cityFROM employees eLEFT OUTER JOIN departments dON e.`department_id` = d.`department_id`LEFT OUTER JOIN locations lON d.`location_id` = l.`location_id`WHERE commission_pct IS NOT NULL;

          4.選擇city在Toronto工作的員工的 last_name , job_id , department_id , department_name

          SELECT e.last_name , e.job_id , d.department_id , d.department_nameFROM locations lJOIN departments dON l.location_id = d.location_idJOIN employees eON d.department_id = e.department_idWHERE l.city = "Toronto";

          5.查詢員工所在的部門名稱、部門地址、姓名、工作、工資,其中員工所在部門的部門名稱為’Executive’

          SELECT department_name, street_address, last_name, job_id, salaryFROM employees e JOIN departments dON e.department_id = d.department_idJOIN locations lON d.`location_id` = l.`location_id`WHERE department_name = "Executive"

          6.選擇指定員工的姓名,員工號,以及他的管理者的姓名和員工號,結果類似于下面的格式

          employees Emp# manager Mgr#kochhar   101  king    100
          SELECT emp.last_name employees, emp.employee_id "Emp#", mgr.last_name manager,mgr.employee_id "Mgr#"FROM employees empLEFT OUTER JOIN employees mgrON emp.manager_id = mgr.employee_id;

          7.查詢哪些部門沒有員工

          SELECT d.department_nameFROM departments dLEFT OUTER JOIN employees eON d.department_id = e.department_idWHERE e.department_id IS NULL;

          這里簡單地描述一下解題的思路:首先涉及兩張表,員工表和部門表,然后通過department_id建立聯系。接下來就要考慮如上圖的兩個部分,交集是有部門且有員工的部分,然后左外連接是各個部門號,去除中間的交集就是部門號但是沒員工的部分。因此類似于左中圖。只需要讓從表的該條件為NULL即可。

          此外還有第二種辦法,子查詢:

          SELECT department_idFROM departments dWHERE NOT EXISTS (SELECT *FROM employees eWHERE e.`department_id` = d.`department_id`)

          8.查詢哪個城市沒有部門

          SELECT l.location_id,l.cityFROM locations l LEFT JOIN departments dON l.`location_id` = d.`location_id`WHERE d.`location_id` IS NULL

          9.查詢部門名為 Sales 或 IT 的員工信息

          SELECT employee_id,last_name,department_nameFROM employees e,departments dWHERE e.department_id = d.`department_id`AND d.`department_name` IN ("Sales","IT");

          練習題Part2

          儲備:建表操作:CREATE TABLE `t_dept` (`id` INT(11) NOT NULL AUTO_INCREMENT,`deptName` VARCHAR(30) DEFAULT NULL,`address` VARCHAR(40) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;CREATE TABLE `t_emp` (`id` INT(11) NOT NULL AUTO_INCREMENT,`name` VARCHAR(20) DEFAULT NULL,`age` INT(3) DEFAULT NULL,`deptId` INT(11) DEFAULT NULL,empno int not null,PRIMARY KEY (`id`),KEY `idx_dept_id` (`deptId`)#CONSTRAINT `fk_dept_id` FOREIGN KEY (`deptId`) REFERENCES `t_dept` (`id`)) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;INSERT INTO t_dept(deptName,address) VALUES("華山","華山");INSERT INTO t_dept(deptName,address) VALUES("丐幫","洛陽");INSERT INTO t_dept(deptName,address) VALUES("峨眉","峨眉山");INSERT INTO t_dept(deptName,address) VALUES("武當","武當山");INSERT INTO t_dept(deptName,address) VALUES("明教","光明頂");INSERT INTO t_dept(deptName,address) VALUES("少林","少林寺");INSERT INTO t_emp(NAME,age,deptId,empno) VALUES("風清揚",90,1,100001);INSERT INTO t_emp(NAME,age,deptId,empno) VALUES("岳不群",50,1,100002);INSERT INTO t_emp(NAME,age,deptId,empno) VALUES("令狐沖",24,1,100003);INSERT INTO t_emp(NAME,age,deptId,empno) VALUES("洪七公",70,2,100004);INSERT INTO t_emp(NAME,age,deptId,empno) VALUES("喬峰",35,2,100005);INSERT INTO t_emp(NAME,age,deptId,empno) VALUES("滅絕師太",70,3,100006);INSERT INTO t_emp(NAME,age,deptId,empno) VALUES("周芷若",20,3,100007);INSERT INTO t_emp(NAME,age,deptId,empno) VALUES("張三豐",100,4,100008);INSERT INTO t_emp(NAME,age,deptId,empno) VALUES("張無忌",25,5,100009);INSERT INTO t_emp(NAME,age,deptId,empno) VALUES("韋小寶",18,null,100010);【題目】#1.所有有門派的人員信息( A、B兩表共有)#2.列出所有用戶,并顯示其機構信息(A的全集)#3.列出所有門派(B的全集)#4.所有不入門派的人員(A的獨有)#5.所有沒人入的門派(B的獨有)#6.列出所有人員和機構的對照關系(AB全有)#MySQL Full Join的實現 因為MySQL不支持FULL JOIN,下面是替代方法#left join + union(可去除重復數據)+ right join#7.列出所有沒入派的人員和沒人入的門派(A的獨有+B的獨有)

          1.所有有門派的人員信息( A、B兩表共有)

          select *from t_emp a inner join t_dept bon a.deptId = b.id;

          2.列出所有用戶,并顯示其機構信息(A的全集)

          select *from t_emp a left join t_dept bon a.deptId = b.id;

          3.列出所有門派(B的全集)

          select *from t_dept b;

          4.所有不入門派的人員(A的獨有)

          select *from t_emp a left join t_dept bon a.deptId = b.idwhere b.id is null;

          5.所有沒人入的門派(B的獨有)

          select *from t_dept b left join t_emp aon a.deptId = b.idwhere a.deptId is null;

          6.列出所有人員和機構的對照關系 (AB全有)

          #MySQL Full Join的實現 因為MySQL不支持FULL JOIN,下面是替代方法#left join + union(可去除重復數據)+ right joinSELECT *FROM t_emp A LEFT JOIN t_dept BON A.deptId = B.idUNIONSELECT *FROM t_emp A RIGHT JOIN t_dept BON A.deptId = B.id

          7.列出所有沒入派的人員和沒人入的門派(A的獨有+B的獨有)

          SELECT *FROM t_emp A LEFT JOIN t_dept BON A.deptId = B.idWHERE B.`id` IS NULLUNIONSELECT *FROM t_emp A RIGHT JOIN t_dept BON A.deptId = B.idWHERE A.`deptId` IS NULL;

          總結

          到此這篇關于MySQL多表查詢與7種JOINS實現的文章就介紹到這了,更多相關MySQL多表查詢與JOINS實現內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

          標簽: MySQL
          主站蜘蛛池模板: 免费a级毛片大学生免费观看 | 农村脱精光一级 | 永久免费无码网站在线观看 | 欧美日本三级 | 男受被做哭激烈娇喘gv视频 | 99久久久成人国产精品 | 在线播放亚洲第一字幕 | 精品欧美久久久 | 日日爱666| 成人在线免费小视频 | 国产久一 | 一本色道久久综合狠狠躁篇怎么玩 | 成人看片17c.com | 亚洲丶国产丶欧美一区二区三区 | 自拍啪啪 | 免费日韩av | 中文在线最新版天堂8 | 夜夜夜夜操| 国产亚洲视频在线 | 日本黄色免费在线观看 | 男女裸体做爰爽爽全过程软件 | 亚洲第一av网站 | 亚洲第一网站在线观看 | 国产偷窥熟妇高潮呻吟 | 免费无码专区毛片高潮喷水 | 偷拍亚洲欧美 | 在线免费国产 | 97视频免费观看2区 97视频网站 | 天堂а√在线中文在线 | 国产农村老太xxxxhdxx | 中文字幕高清免费日韩视频在线 | 极品美女白嫩呻吟湿淋淋照片 | 国产一区二区在 | 青青青青青青草 | 亚洲精品乱码久久久久久金桔影视 | 五月激情啪啪 | 黄色免费在线播放 | 日韩欧美专区 | 婷婷四房色播 | 国产精品天堂avav在线 | 美女日日日 | 久久艹国产精品 | 亚洲午夜免费视频 | 狠狠色丁香婷婷综合欧美 | 欧美区一区二区 | 欧美成年人在线视频 | 国产精品日日摸夜夜添夜夜av | 欧美午夜性生活 | 深夜福利小视频在线观看 | 久久久精品中文 | 国产精品国语对白 | 玖玖精品 | 日韩视频在线观看一区二区三区 | 冲田杏梨 在线 | 婷婷色视频 | 日韩av区 | 拔萝卜视频在线观看高清版 | 非洲黑人狂躁日本妞 | 中文字幕一二三四区 | 少妇精69xxxxxx黑人 | 少妇富婆一区二区三区夜夜 | 欧美激情国产精品 | 337p日本欧洲亚洲大胆色噜噜 | 亚洲免费视频一区二区 | 无码国内精品人妻少妇 | 成年人免费在线视频 | 野花社区www高清视频 | 乱淫a裸体xxxⅹ | 成人免费在线 | 舌头伸进添得好爽高潮欧美 | 日本一本久草 | 久久久精品欧美一区二区 | 天天精品视频 | 在线黄视频 | 日韩一级片一区二区三区 | 国产国语videosex另类 | 在线中出 | 奇米精品视频一区二区三区 | 亚洲欧美视频在线 | 亚洲免费永久精品国产 | 一级淫片a | 久草高清视频 | 久久99精品久久久久久秒播 | 久久精品国产99国产精品亚洲 | 荫蒂被男人添的好舒服爽免费视频 | 国产露脸国语对白在线 | 国产乱人伦中文无无码视频试看 | 我要看www免费看插插视频 | 色资源av中文无码先锋 | 成人在线播放网站 | 黑人巨大videos亚洲娇小 | 日本一区二区在线播放 | 粉嫩av一区二区三区天美传媒 | videossex性糟蹋重 | 成人男男视频拍拍拍在线观看 | 国产亚洲欧美日韩俺去了 | 国产成人看片 | 污污网站在线观看视频 | 97在线免费观看视频 | 国产亚洲精品岁国产微拍精品 | 在线视频激情小说 | 国产精品综合一区二区三区 | 亚洲国产成人一区二区精品区 | 观看av| 国产欧美69久久久久久9龙 | 综合五月激情二区视频 | 久久免费在线观看视频 | 国内精品久久人妻互换 | mm131美女大尺度私密照尤果 | 三级毛片在线免费观看 | 日本aⅴ在线 | 2019日韩中文字幕mv | 最新久久| 亚洲伊人成综合网 | 淫欲av | 免费观看a毛片 | 大学生xvideoscom| 四虎精品在线 | 国产精品久久久久久久久久ktv | 中文字幕av一区 | 欧美日韩中文国产一区 | 免费看又黄又无码的网站 | 亚洲日韩乱码中文无码蜜桃臀 | 老牛嫩草二区三区观影体验 | 成人国内精品久久久久影院vr | 天天操婷婷 | 日本五月天婷久久网站 | 热热色原网址 | 国产女人第一次做爰视频 | 精品久久久久一区二区国产 | 野花社区视频在线观看 | www99精品 | 成年丰满熟妇午夜免费视频 | 在线天堂中文字幕 | 手机精品视频在线 | 日韩专区一区二区三区 | 天天曰天天| 一区免费在线观看 | 日本人麻豆 | 国产做受蜜臀 | 日韩欧美一区二区在线视频 | 欧美又粗又长又爽做受 | 偷拍自中文字av在线 | 91精产国品 | 国精品人妻无码一区免费视频电影 | 成人永久视频 | 国产午夜手机精彩视频 | 日韩成人在线免费视频 | 亚洲国产精品久久久久久 | 国产又粗又硬又黄的视频 | 玩弄japan白嫩少妇hd小说 | 香港a毛片 | mm视频在线观看 | 国产精品国产三级国产av中文 | 国产精品中文在线 | 欧美日韩精品人妻狠狠躁免费视频 | 葵司ssni-879在线播放 | 中文字幕第99页 | 香蕉综合网 | 又长又硬又粗一区二区三区 | 免费无码又爽又刺激网站 | 日韩精品三级 | 97在线观视频免费观看 | 成人小视频免费 | 国产内射爽爽大片 | 久久久99久久久国产自输拍 | 国产盗摄夫妻原创视频在线观看 | 国产精品1区2区 | 在线观看日韩av | 精品99在线观看 | 51国产偷自视频区免费播放 | 亚洲第一色网站 | 国产又黄又猛又粗又爽视频 | 午夜福利理论片高清在线 | 中文在线√天堂 | 小12萝8禁在线喷水观看 | 日韩亚洲欧美中文高清 | 国产chinese| 日韩欧美精品在线视频 | 91精品入口 | 久久久久久亚洲精品中文字幕 | 亚洲爱爱图 | 99在线精品视频免费观看软件 | 亚洲黄在线观看 | 久久狠狠高潮亚洲精品 | www.日韩高清| 日韩av中字 | 国产精品一区二区久久乐下载 | 日本xxxx高清 | 久久精品国产日本波多野结衣 | 毛片专区 | 综合久久久久 | 亚洲综合欧美在线一区在线播放 | 国产精品人妻一区夜夜爱 | 国产sm主人调教女m视频 | 丰满人妻一区二区三区无码av | 91精品在线免费观看 | 精品中文在线 | 男女男精品视频站 | 久久亚洲精品国产一区 | 亚洲日本欧美在线 | 国产精品jizz在线观看网站 | 欧美黑人又粗又大高潮喷水 | 亚洲va在线观看 | 慈禧一级淫片免费放特级 | b站永久免费看片大全 | 产乳奶水文h男男喂奶 | 深夜在线免费视频 | 欧美成年黄网站色视频 | 国产色婷婷五月精品综合在线 | 国产精品美女久久久久久久久久久 | 少妇伦子伦情品无吗 | 日韩资源在线 | 国产福利一区二区 | 性无码一区二区三区在线观看 | 在线免费观看污网站 | 超碰在线97观看 | 香蕉福利视频 | 欧美成人久久久 | 久久精品国产亚洲一区二区 | 色综合久久天天 | 快灬快灬一下爽69xx免费 | 91精品国产综合久久精品图片 | 国产女人和拘做受视频免费 | 亚洲视频精品在线观看 | 天天做爰裸体免费视频 | 亚洲小视频在线观看 | 精品无码一区二区三区的天堂 | 国产一线二线在线观看 | 97香蕉久久超级碰碰高清版 | 性爱视频日本 | 国产xxxx高清在线观看 | 国产好爽又高潮了毛片91 | 爱色av·com| xx视频在线观看 | 黑人ⅴvideo暴力亚洲娇小 | 国产69精品久久777的优势 | 亚洲欧美国产精品久久久久久久 | 高h猛烈做哭你尿进去了网站 | 久久久妇女国产精品影视 | 亚洲国产欧洲综合997久久, | 韩国三级视频在线观看 | 激情五月婷婷在线 | 成人18夜夜网深夜福利网 | 精品欧美日韩 | 激烈娇喘叫1v1高h糙汉 | 亚洲女同一区 | 少妇性色av| 天天爽夜夜爽人人爽曰 | 少妇裸体性生交 | 成人乱人乱一区二区三区 | 91福利在线观看视频 | 丁香五香天堂综合小说 | 国产成人无码av一区二区在线观看 | 国产在线a视频 | 国产色视频一区二区三区 | 日本又白又嫩水又多毛片 | 国产精品xxxx喷水欧美 | aaa级吃奶摸下免费视频 | 8050午夜二级无码中文字幕 | heyzo综合国产精品216 | 欧美极品jiizzhd欧美暴力 | 亚洲精品中文字幕乱码三区 | 村上凉子在线播放69xx | 北条麻妃99精品青青久久 | 黑人巨大精品欧美一区二区桃花岛 | 西西午夜 | 污污网站免费在线观看 | 久久久精品久久久久久96 | 欧美日韩一级黄色片 | 欧洲做受高潮片 | 欧美 国产 综合 欧美 视频 | h欧美| 成年人视频免费在线观看 | 电车侵犯高潮失禁在线看 | 国产a∨精品一区二区三区不卡 | 久久99精品热在线观看 | 麻豆精品免费视频 | 美女网站免费观看视频 | 午夜妇女aaaa区片 | 伊人情人色综合网站 | www.国产成人 | 日韩啊啊啊 | 日韩午夜一区二区三区 | 国产成人高清精品免费 | 夜夜爽www | 亚洲精品无码永久中文字幕 | 99九九视频| 夜夜夜夜bbbbbb欧美 | 国内精品第一页 | 国语对白嫖老妇videos | 天天色天天爱 | 乱肉合集乱高h男男双龙视频 | 亚洲精品免费在线观看 | 激情久久五月 | 欧美丝袜一区二区三区 | 咪咪成人网 | 美女啪啪网 | 日韩成人中文字幕 | 久久久久精 | 偷窥少妇高潮呻吟av久久免费 | 一区免费在线 | 日韩视频中文字幕在线观看 | 免费视频爱爱太爽了 | 丁香婷婷六月 | 成人国产精品免费 | 中文字幕无线观看中文字幕 | 疯狂做爰高潮videossex | 午夜美女裸体福利视频 | 乱中年女人伦av一区二区 | 亚洲蜜桃av| 久在线观看福利视频 | 精品久久久久成人码免费动漫 | 成年人视频在线看 | 日本无翼乌全彩j奶无遮挡漫 | 4hu最新网| 亚洲精品天堂成人片av在线播放 | 4色av| www.av色| 欧美性色黄大片手机版 | 97久久天天综合色天天综合色hd | 素人fc2av清纯18岁 | 日本曰又深又爽免费视频 | 国产成人无码av片在线观看不卡 | 最新精品国偷自产在线 | 日韩黄色a级片 | 可以直接看av的网址 | 亚洲成人在线视频播放 | 成人香蕉视频在线观看 | 少妇又色又紧又爽又刺激视频 | 俄罗斯少妇性高清ⅹxx | 大肉大捧一进一出好爽视色大师 | 欧美日韩1 | 一级国产航空美女毛片内谢 | 免费国产在线精品一区二区三区 | 成人影片麻豆国产影片免费观看 | zoo性欧美 | av片国产| 日韩亚射吧 | 国产乱人伦精品一区二区 | 成人在线观看网址 | 久草加勒比 | 免费在线性爱视频 | 色综合久久88色综合天天提莫 | 在线а√天堂中文官网 | 欧美激情视频一区 | 国产一区二区在线播放视频 | 亚洲精品国产a久久久久久 51国偷自产一区二区三区 | 国产日韩欧美一区二区东京热 | 久草久| 久久网站免费看 | 成人免费视频毛片 | 99这里只有精品 | 精品视频第一页 | 在线播放成人 | 亚洲福利网 | 精品欧美乱码久久久久久 | 6080毛片| 欧美videos最新极品 | 日韩中文字幕区一区有砖一区 | 亚洲欧美性视频 | 国精产品一品二品国在线 | 男人疯狂高潮呻吟视频 | 在线免费精品 | 欧美日韩综合在线 | 97超碰人人模人人人爽人人爱 | 欧美日韩一卡二卡 | 国产精品白浆一区二小说 | 精品人妻无码一区二区三区换脸 | 国产精品视频一区二区三区四区国 | 91丨porny丨在线 | 日韩人妻无码一区二区三区99 | 脱了美女内裤猛烈进入gif | 久久久久久久久久久久久久久久久久久 | 国产自产视频 | 国产精品久久久久久久久久综合 | 久久精品国产精品亚洲38 | 精品无码一区在线观看 | gv天堂gv无码男同在线观看 | 久久国产乱子伦精品免费午夜,浪货好紧 | 久久人人爽天天玩人人妻精品 | 韩国性生交大片免费观看视频 | 亚洲自拍偷窥 | 欧美视频一二三区 | 久久久91 | 中文字字幕人妻中文 | 殴美性生活| 国产精品二区一区二区aⅴ污介绍 | 欧美精品一区在线播放 | 蜜桃av一区 | 极品久久久 | 国产白丝袜喷白浆毛片av | 久久久久av综合网成人 | 国产丰满大乳奶水 | 欧美午夜精品久久久久久浪潮 | 国产精品欧美亚洲韩国日本久久 | 男女互操视频 | 久久精品国产成人av | 日本丰满熟妇bbxbbxhd | 久久久久久久久久网站 | 成人做爰高潮片免费看 | 久久久午夜视频 | 成人免费区一区二区三区 | 国精产品99永久一区一区 | 美日韩精品 | 精品日本一区二区三区在线观看 | 国产亚洲成av人片在线观看下载 | 性久久久 | 中文字幕有码无码av | 日本一区二区三区精品 | 国产精品毛片久久久久久久 | 国产日韩欧美精品在线观看 | 狠狠插av| 中文字幕va一区二区三区 | 国产高清一区二区三区视频 | 天天射天天干 | 久久99视频精品 | 高清国产一区二区 | 女人两腿打开让男人添野外视频 | 日本少妇aa特黄毛片亚洲 | 影音先锋激情在线 | 国产亚洲视频在线播放香蕉 | 午夜剧场成人 | 禁久久精品乱码 | 啪在线视频 | 美女隐私黄www网站免 | av不卡免费看 | 9999精品视频 | 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 亚洲永久精品ww47 | 少妇无套内谢免费视频 | 日本免费一区二区三区四区五区 | 国产欧美做爰xxxⅹ在线观看 | 国产欧美一区二区三区四区 | 伊人免费视频 | 久久久性色精品国产免费观看 | 免费操片 | 国内极品少妇1000激情啪啪千 | 天干天干天干夜夜爽av | 人人妻人人爽人人做夜欢视频 | 软萌小仙自慰喷白浆 | 国产亚洲欧美日韩精品一区二区三区 | 国产亲子私乱av | 人成精品 | 一a本v道久久 | 色欲色香天天天综合网www | 91亚洲精品久久久蜜桃网站 | 久久波多野 | 国产毛片高清 | 丝袜一区二区三区 | 国产一区精品视频 | 欧美精品色视频 | 免费日本黄色网址 | 欧美黄色一区 | 日日碰狠狠躁久久躁综合小说 | 日韩高清网站 | 日韩一级片免费在线观看 | 欧美交换乱淫粗大 | 91精品国产亚一区二区三区老牛 | 欧美视频在线一区二区三区 | 男女啪啪做爰高潮无遮挡 | 特黄一级视频 | 一区二区av| 爱爱视频天天干 | 91在线视频| 亚洲一区 国产 | 操一操av| 国产精品视频一区二区在线观看 | 成人看| 活大器粗np高h一女多夫 | 精品人妻无码一区二区三区性 | 亚洲日韩久久综合中文字幕 | 在线伊人网| 草草影院ccyycom | 人妻无码久久一区二区三区免费 | 黄色片高清 | 国产成人免费在线视频 | 久久国产精品一区二区三区 | 亚洲乱码国产一区三区 | 免费观看一区二区三区 | 国产亚洲精品久久久久久久久久 | 视频在线不卡 | 久久免费少妇做爰 | 欧美三级不卡在线观看 | 秋霞一区 | 欧美1| 人人鲁人人莫一区二区三区 | 日本 在线| 久久99精品久久久久久9 | 亚洲精品午睡沙发系列 | 亚洲做受高潮无遮挡 | 精品精品欲天堂导航 | 亚洲国产综合久久久 | 成人精品国产一区二区4080 | 色一情一交一乱一区二区 | 欧美日韩国产在线观看 | 亚洲精品一区二区三区中文字幕 | 国内精品视频在线 | 亚洲欧洲精品在线 | 日韩一区精品视频一区二区 | av大片在线播放 | 国产乱子伦一区二区三区 | 99精品视频在线看 | 国产特级毛片aaaaaa | 欧美成人午夜精品免费 | 激情五月激情综合 | 国产原创视频在线 | 亚洲一区二区视频 | 国产女人18毛片水18精品 | 免费看黄色片的网站 | 亚洲中文字幕无码一区在线 | 韩国边摸边做呻吟激情 | 亚洲精品乱码久久久久66国产成 | 欧美日韩六区 | 99热这里都是精品 | 日本视频在线播放 | 欧美一区二区福利视频 | www久久爱69com | 精品三级视频 | 日本一级淫片免费啪啪3 | 亚洲精品v日韩精品 | 亚洲乱色伦图片区小说 | 精品人妻少妇一区二区三区 | jizz在线看 | 综合精品视频 | 欧美一区二区三区色 | 天天插夜夜操 | 一区二区三区不卡在线 | 色先锋资源久久综合5566 | 女人的精水喷出来视频 | 色欲久久久天天天综合网精品 | 久久久久成人精品免费播放动漫 | 综合人妻久久一区二区精品 | 操bbbbb| 久久成人福利视频 | 无码av免费精品一区二区三区 | 国产在线视频一区二区三区 | 岛国av免费在线 | 99re6热在线精品视频播放 | 国产内射爽爽大片视频社区在线 | 午夜黄色一级片 | 国产精品丝袜www爽爽爽 | 无套内谢88av免费看 | 欧美日韩一级二级 | 日韩少妇乱码一区二区三区免费 | 国产一级精品绿帽视频 | 天堂а√在线地址 | 日韩精彩视频在线观看 | 亚洲男人天堂网址 | 亚洲成av人片天堂网无码】 | 人鳝交video另类hd | 成人一区二区三区视频在线观看 | 成人在线免费看视频 | 文中字幕一区二区三区视频播放 | 欧美日韩国产高清 | av日韩网址| 少妇挑战黑人3p | 伊人精品视频在线观看 | 女生毛片 | 亚洲视频一二三四 | 国产精品蜜 | 国产精品久久久久久久久免费丝袜 | 大桥未久av一区二区三区 | 一级黄色在线观看 | 亚洲精品国产一区二区精华液 | 在线看污片| 美女脱了内裤张开腿让男人桶网站 | 老色批av| 亚洲无人区一区二区三区 | 亚洲熟妇自偷自拍另欧美 | 视频一区二区欧美 | 岛国片免费在线观看 | 欧美性黑人极品hd | 成人中文字幕在线 | 岳奶大又白下面又肥又黑水多 | 国产成年无码久久久久下载 | 开心五月色婷婷综合开心网 | 国产av夜夜欢一区二区三区 | 国产三级三级三级精品8ⅰ区 | a v视频在线观看 | 中文字幕超清在线免费观看 | www国产成人免费观看视频深夜成人网 | 一道本视频在线观看 | 性国产三级在线观看 | 三级黄色免费片 | a色网站| 亚洲 成人 av | 日韩欧美国产精品 | 亚洲精品无码永久在线观看性色 | 伊人性伊人情综合网 | 国产精品成人一区二区三区 | 大陆明星乱淫(高h)小说 | 翘臀后进少妇大白嫩屁股 | 国产在线拍揄自揄拍无码视频 | 日韩精品首页 | 女性向av免费观看入口silk | 免费在线网站 | 亚洲а∨天堂久久精品喷水 | 麻豆av一区二区 | 久久小草亚洲综合 | 欧美色88| h在线网站| 91精品久久久久久久久久久 | 在线观看所有av | 亚洲最大的成人网 | 亚洲女人被黑人巨大进入 | 公妇借种乱h中文字幕 | 国内精品久久久久久久97牛牛 | 国产福利91精品一区区二区三国产s | 日韩麻豆视频 | 亚洲欧美国产一区二区 | sm调教小sao货叫主人语录 | 欧美日韩一区二区三区在线播放 | 69视频污 | 东京热一区二区三区无码视频 |