日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Oracle复杂查询21道题精析

發(fā)布時(shí)間:2025/3/16 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle复杂查询21道题精析 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
第一題:列出至少有一個(gè)員工的所有部門(mén)編號(hào)、名稱,并統(tǒng)計(jì)出這些部門(mén)的平均工資、最低工資、最高工資。
select * from dept;

select d.deptno,d.dname,count(empno),avg(sal),min(sal),max(sal)
from emp e,dept d
where d.deptno=e.deptno
group by d.deptno,d.dname

having count(empno)>1;


group by 子句:

在前面的操作中,都是對(duì)表中的每一行數(shù)據(jù)進(jìn)行單獨(dú)的操作。

在有些情況下,需要把一個(gè)表中的行分為多個(gè)組,然后將這個(gè)作為一個(gè)整體,獲得改組的一些信息,

例如獲取部門(mén)編號(hào)為10的員工人數(shù),

where:

select ?deptno,count(empno)
from emp
where deptno=10
group by deptno

having:

select ?deptno,count(empno)
from emp
having deptno=10
group by deptno

注意:having 和group by的位置交換后也是能執(zhí)行出來(lái)的。


或者某個(gè)部門(mén)的員工的平均工資等,就需要使用group by子句對(duì)表中的數(shù)據(jù)進(jìn)行分組。

select ?deptno,avg(sal)
from emp
group by deptno
having deptno=10



注意:

使用group by子句,可以根據(jù)表中的某一列或某幾列對(duì)表中的數(shù)據(jù)進(jìn)行分組,多個(gè)列之間使用逗號(hào)隔開(kāi)。如果根據(jù)多個(gè)列進(jìn)行分組,oracle會(huì)首先根據(jù)第一列進(jìn)行分組,然后在分出來(lái)的組中在按照第二列進(jìn)行分組。


SQL> select deptno as "部門(mén)編號(hào)",count(*) as "員工人數(shù)",job as "工作"
? 2 ?from emp
? 3 ?group by deptno,job
? 4 ?order by deptno
? 5 ?;
? ? 部門(mén)編號(hào) ? ? ? 員工人數(shù) 工作
-------- ---------- ---------
? ? ? 10 ? ? ? ? ?1 CLERK
? ? ? 10 ? ? ? ? ?1 MANAGER
? ? ? 10 ? ? ? ? ?1 PRESIDENT
? ? ? 20 ? ? ? ? ?2 ANALYST
? ? ? 20 ? ? ? ? ?2 CLERK
? ? ? 20 ? ? ? ? ?1 MANAGER
? ? ? 30 ? ? ? ? ?1 CLERK
? ? ? 30 ? ? ? ? ?1 MANAGER
? ? ? 30 ? ? ? ? ?4 SALESMAN
?
9 rows selected



having子句:

1、having子句通常與group by 子句一起使用,在完成對(duì)分組結(jié)果的統(tǒng)計(jì)后,

可以使用having子句對(duì)分組的結(jié)果進(jìn)行一步篩選。

2、如果在select語(yǔ)句中使用group by 子句,那么having子句將應(yīng)用股group by子句創(chuàng)建的組;

? ? ?如果制定了where子句,而沒(méi)有指定group by子句,那么having子句將應(yīng)用于where子句的輸出,并且這個(gè)輸出被看做是一個(gè)組;

3、如果在select語(yǔ)句中既沒(méi)指定where子句,也沒(méi)有制定group by子句,那么having子句將應(yīng)用from子句的輸出,并且將這個(gè)輸出看做一個(gè)組。


理解having子句的最好的方法就是記住select語(yǔ)句中的子句的處理次序:


1、where子句只能接受from子句輸出的數(shù)據(jù);

2、havi--例7.13在前面例7、11的語(yǔ)句中,添加having祖居,指定調(diào)教為員工人數(shù)大于3如下:
select deptno as "部門(mén)編號(hào)",count(*) as "員工人數(shù)"
from emp
group by deptno
having count(*)>3ng子句則可以接受來(lái)自group by,where,from子句輸出的數(shù)據(jù)。


提示:

如果不使用group by子句,那么having子句的功能與where子句一樣,都是定義搜索條件,但是having子句的搜索條件與組有關(guān),而不是與單個(gè)的行有關(guān)。


第二題: 列出薪金比“SMITH”或“ALLEN”多的所有員工的編號(hào)、姓名、部門(mén)名稱、其領(lǐng)導(dǎo)姓名。


--第一步:找出“SMITH”或“ALLEN”的工資
select ename,sal
from emp
where ename in('SMITH','ALLEN');
select ename,sal
from emp
where ename='SMITH' or ename='ALLEN';
--第二步:以上的查詢返回的多行單列的記錄,按照子查詢的要求在WHERE子句中寫(xiě)合適,
--所以這個(gè)時(shí)候?qū)⑸厦娴牟樵冏鳛橐粋€(gè)子查詢出現(xiàn),繼續(xù)查詢符合此要求的員工的編號(hào)、姓名。

select e.empno,e.ename,sal
from emp e
where sal> any( select sal from emp where ename='SMITH' or ename='ALLEN' )
--any:大于最小值
--all大于最大值


select * from emp where sal>1600
--第三步:查詢出部門(mén)的名稱,引入部門(mén)表,同時(shí)增加消除笛卡爾積的條件
select e.empno,e.ename,sal,d.dname
from emp e,dept d
where sal> any( select sal from emp where ename='SMITH' or ename='ALLEN' ) and e.deptno=e.deptno
--第四步:領(lǐng)導(dǎo)的信息需要emp表自身關(guān)聯(lián)
select e.empno,e.ename,e.sal,d.dname,m.ename
from emp e,dept d,emp m
where e.sal>any(select sal from emp where ename='SMITH' or ename='ALLEN') ?and e.deptno=e.deptno and
e.mgr=m.empno




any:處理select返回的多個(gè)值


--例8.7對(duì)scott用戶的emp表進(jìn)行操作,獲得工資大于任意一個(gè)部門(mén)的平均工資的員工信息,如下:

--第一步:獲取每一個(gè)部門(mén)的平均工資


select deptno,avg(sal)
from emp
group by deptno

--第二步:用any處理上個(gè)查詢出來(lái)的多個(gè)平均值

select *?
from emp
where sal>any(select avg(sal)
from emp
group by deptno)?



--例8.8對(duì)scott用戶的emp表進(jìn)行操作,獲得工資大于所用部門(mén)的平均工資的員工
select *?
from emp
where sal>all(select avg(sal)
from emp
group by deptno)


--獲取員工和員工老板的名字
select e.empno,e.ename||' 的老板是 '||m.ename
from emp e,emp m
where?
e.mgr=m.empno


select empno?
from emp
where ename='JONES'


select empno?
from emp
where ename='KING'


select * from emp;


仔細(xì)觀察這個(gè)表:


第三題:列出所有員工的編號(hào)、姓名及其直接上級(jí)的編號(hào)、姓名,顯示的結(jié)果按領(lǐng)導(dǎo)年工資的降序排列。
select e.empno,e.ename,m.deptno,m.ename,12*(m.sal+nvl(m.comm,0))
--員工,老板
from emp e,emp m
--員工的老板的編號(hào)=老板的編號(hào)
where e.mgr=m.empno(+)
--KING這個(gè)員工沒(méi)老板
order by 12*(m.sal) desc;


SELECT e.empno,e.ename,m.empno,m.ename,(m.sal+NVL(m.comm,0))*12 income
FROM emp e,emp m
WHERE e.mgr=m.empno(+)
ORDER BY income DESC;


select * from emp;


--左連接:是在檢索結(jié)果中除了顯示滿足連接條件的行外,還顯示JOIN關(guān)鍵字左側(cè)表中所有滿足檢索條件的行。
--例8.26使用做外鏈接,檢索emp表和salgrade表,獲取員工的工資等級(jí)。
--為了觀察做外鏈接的執(zhí)行效果,首先使用insert語(yǔ)句向emp 表中添加一些記錄,其中sal列的值需要小于700或者
--大于9999,也就是不在工資的等級(jí)范圍內(nèi)。
insert into emp values(7937,'Candy',null,null,null,500,null,null);
select * from emp;
--下面使用左連接
select e.empno,e.ename,e.sal,d.grade
from emp e,salgrade d
where e.sal between d.losal and d.hisal(+)


select empno,sal from emp;


--使用右外連接,檢索emp表和dept表中所包含的部門(mén)編號(hào)
select distinct e.deptno as "emp表",d.deptno ?as "deptno表"
from emp e,dept d
where e.deptno(+)=d.deptno


dept表:


emp表:


注意:dept表中定義全部的部門(mén)號(hào),當(dāng)一個(gè)部門(mén)有人了才記錄到emp表中。

想顯示全部的dept,就在缺失的表上加上+號(hào)。


--3、 列出所有員工的編號(hào)、姓名及其直接上級(jí)的編號(hào)、姓名,顯示的結(jié)果按領(lǐng)導(dǎo)年工資的降序排列。
select e.empno,e.ename,m.deptno,m.ename,12*(m.sal+nvl(m.comm,0))
--員工,老板
from emp e,emp m
--員工的老板的編號(hào)=老板的編號(hào)
where e.mgr=m.empno(+)--老板
--KING這個(gè)員工沒(méi)老板
order by 12*(m.sal) desc;
--想顯示所有的員工,必須在缺失的一個(gè)表上加+號(hào)
--KING 的e.mgr為空 ?where e.mgr=m.empno(+)--老板


第四題:列出受雇日期早于其直接上級(jí)的所有員工的編號(hào)、姓名、部門(mén)名稱、部門(mén)位置、部門(mén)人數(shù)。


--第一步:列出受雇日期早于其直接上級(jí)的所有員工的編號(hào)、姓名 —— 自身關(guān)聯(lián)emp表。
select e.empno,e.ename,m.ename
from emp e,emp m
where e.mgr=m.empno(+) and e.hiredate<m.hiredate


SELECT e.empno,e.ename
FROM emp e,emp m
WHERE e.mgr=m.empno(+) AND e.hiredate<m.hiredate;


--第二步:加入部門(mén)信息,繼續(xù)引入部門(mén)表
SELECT e.empno,e.ename,d.dname,d.loc
FROM emp e,emp m,dept d
WHERE e.mgr=m.empno(+) AND e.hiredate<m.hiredate and d.deptno=e.deptno;
--第三步:統(tǒng)計(jì)部門(mén)人數(shù),此時(shí)由于要使用統(tǒng)計(jì)函數(shù),而且以上的查詢也無(wú)法再直接出現(xiàn)統(tǒng)計(jì)函數(shù),所以使用子查詢完成
SELECT e.empno,e.ename,d.dname,d.loc,temp.count
FROM emp e,emp m,dept d,(select deptno dno,count(empno) count from emp group by deptno) temp
WHERE e.mgr=m.empno(+) AND e.hiredate<m.hiredate and d.deptno=e.deptno
and e.deptno=temp.dno


select distinct deptno,temp.count
from dept,(select deptno dno,count(empno) count from emp group by deptno) temp
where dept.deptno=temp.dno


注意:

當(dāng)查詢顯示的時(shí)候需要統(tǒng)計(jì)信息,但是又不能直接使用統(tǒng)計(jì)函數(shù)查詢的話,通過(guò)子查詢?cè)贔ROM子句之后進(jìn)行統(tǒng)計(jì)。



第五題:列出部門(mén)名稱和這些部門(mén)的員工信息(數(shù)量、平均工資),同時(shí)列出那些沒(méi)有員工的部門(mén)。



select ?d.deptno,count(e.empno),avg(e.sal)
from emp e,dept d
where e.deptno(+)=d.deptno
group by d.deptno

外連接:

e.deptno是缺失的,加+號(hào)

SELECT d.deptno,d.dname,d.loc,COUNT(e.empno),AVG(e.sal)
FROM emp e,dept d
WHERE e.deptno(+)=d.deptno
GROUP BY d.deptno,d.dname,d.loc;



第六題:列出所有“CLERK”(辦事員)的姓名及其部門(mén)名稱,部門(mén)的人數(shù),工資等級(jí)。


select e.ename,d.dname,temp.count,s.grade
from dept d,emp e,salgrade s,(select deptno dno,count(empno) count from emp group by deptno) temp
where d.deptno=e.deptno and e.sal between s.losal and s.hisal and e.job='CLERK' and temp.dno=d.deptno


select * from salgrade;




select *
from emp
where job='CLERK'

第七題:列出最低薪金大于1500的各種工作及從事此工作的全部雇員人數(shù)及所在部門(mén)名稱、位置、平均工資。

SELECT temp.job,temp.count,d.dname,e.ename
FROM dept d,(
? ? SELECT e.job job,COUNT(e.empno) count
? ? FROM emp e
? ? GROUP BY e.job
? ? HAVING MIN(e.sal)>1500) temp,
? ? emp e
WHERE e.deptno=d.deptno AND e.job=temp.job;
--第一步:使用emp表按照job分組,統(tǒng)計(jì)最低工資(HAVING)和人數(shù)
select e.job,count(e.empno),min(e.sal)
from emp e
group by e.job--統(tǒng)計(jì)函數(shù)是不參與分組的
having min(e.sal)>1500
--第二步:要查詢出雇員所在的部門(mén)信息,但是以上的查詢能跟dept表有關(guān)聯(lián)嗎?
--以上的查詢和dept表之間并沒(méi)有關(guān)聯(lián)字段,那么如果沒(méi)有關(guān)聯(lián)字段,一定會(huì)有笛卡爾積產(chǎn)生,
--但是多表查詢必須要消除笛卡爾積,所以必須聯(lián)系;
--以上的查詢可以和emp表的job字段關(guān)聯(lián);
--要引入的dept表也可以和emp表的deptno字段關(guān)聯(lián);
select e.job job ,count(e.empno) count
from emp e
group by e.job
having min(e.sal)>1500


select temp.job,temp.count,d.dname,e.ename
from dept d,(select e.job job ,count(e.empno) count
from emp e
group by e.job
having min(e.sal)>1500) temp,emp e
where e.deptno=d.deptno and temp.job=e.job
--第三步:求出一個(gè)部門(mén)的平均工資,使用emp表在子查詢中統(tǒng)計(jì)
select temp.job,temp.count,d.dname,e.ename,res.avg
from dept d,(select e.job job ,count(e.empno) count
from emp e
group by e.job
having min(e.sal)>1500) temp,emp e,(select deptno dno,avg(sal) avg
from emp
group by deptno) res
where e.deptno=d.deptno and temp.job=e.job and res.dno=d.deptno

--8、列出在部門(mén)“SALES”(銷售部)工作的員工姓名、基本工資、雇傭日期、部門(mén)名稱、假定不知道銷售部的部門(mén)編號(hào)。


select e.ename,e.sal,e.hiredate,d.dname
from emp e,dept d
where e.deptno=d.deptno and d.dname='SALES'


select * from emp;



第九題:列出薪金高于公司平均薪金的所有員工,所在部門(mén),上級(jí)領(lǐng)導(dǎo),公司的工資等級(jí)。



select e.ename,d.deptno,d.dname,m.ename,s.grade
from dept d,emp e,emp m,salgrade s
where e.mgr=m.empno(+) and e.deptno=d.deptno and e.sal between s.losal and s.hisal and e.sal>(select avg(sal)
from emp)

第十題:列出與“SCOTT”從事相同工作的所有員工及部門(mén)名稱,部門(mén)人數(shù)。

--列出與“SCOTT”從事相同工作的所有員工及部門(mén)名稱,部門(mén)人數(shù)。
SELECT e.empno,e.ename,e.job,d.dname,temp.count
from emp e,dept d,(select deptno dno,count(empno) count from emp e group by deptno) temp
where e.deptno=d.deptno and temp.dno=d.deptno and e.job=(select job from emp where ename='SCOTT')AND e.ename<>'SCOTT'

注意:e.ename<>'SCOTT'把本身除去

11、列出公司各個(gè)工資等級(jí)雇員的數(shù)量、平均工資。


--列出公司各個(gè)工資等級(jí)雇員的數(shù)量、平均工資。
select s.grade,count(e.empno),avg(e.sal)
from salgrade s,emp e
where e.sal between s.losal and s.hisal
group by s.grade


12、列出薪金高于在部門(mén)30工作的所有員工的薪金的員工姓名和薪金、部門(mén)名稱。
select e.ename,e.empno,e.sal,d.deptno
from emp e,dept d
where e.sal>all(select sal from emp where deptno=30) and e.deptno=d.deptno

13、列出在每個(gè)部門(mén)工作的員工數(shù)量、平均工資和平均服務(wù)期限。


select d.deptno,d.dname,d.loc,count(e.empno),avg(e.sal),AVG(MONTHS_BWTWEEN(SYSDATE,e.hiredate)/12) year

from emp e,dept d

--d.deptno是完整的,e.deptno 部門(mén)有人的時(shí)候,才被寫(xiě)在emp

where e.deptno(+)=d.deptno

group by d.deptno,d.dname,d.loc


注意:平均服務(wù)期限AVG(MONTHS_BWTWEEN(SYSDATE,e.hiredate)/12) year

14、列出所有員工的姓名、部門(mén)名稱和工資。

select e.ename,d.dname,e.sal

from dept d,emp e

where d.deptno=e.deptno

15、列出所有部門(mén)的詳細(xì)信息和部門(mén)人數(shù)。

select d.deptno,d.dname,d.loc,count(e.empno)

from dept d,emp e

where d.deptno=e.deptno(+)

group by d.deptno,d.dname,d.loc

16、列出各種工作的最低工資及從事此工作的雇員姓名。

select e.ename,e.job,e.sal

from emp e,(select job,min(e.sal) min

from emp e

group by job) temp

where temp.job=e.job and e.sal=temp.min


17、列出各個(gè)部門(mén)的MANAGER(經(jīng)理)的最低薪金、姓名、部門(mén)名稱、部門(mén)人數(shù)。

第一步:找到所有部門(mén)的經(jīng)理

select deptno,min(sal)

from emp

where job='MANAGER'

group by deptno

第二步:找到姓名,但是以上的子查詢,不能再出現(xiàn)其他的字段

select e.ename,e.sal

from?emp e,(

select deptno dno,min(sal) sal

from emp

where job='MANAGER'

group by deptno

) temp

WHERE e.deptno=temp.dno AND e.sal=temp.sal AND e.job='MANAGER'; 第三步:加入部門(mén)的名稱信息

select e.ename,e.sal,e.ename

from?emp e,(

select deptno dno,min(sal) sal

from emp

where job='MANAGER'

group by deptno

) temp,dept d

WHERE e.deptno=temp.dno AND e.sal=temp.sal AND e.job='MANAGER' and d.deptno=e.deptno 第四步:統(tǒng)計(jì)部門(mén)人數(shù)

select e.ename,e.sal,e.ename,res.count

from?emp e,(

select deptno dno,min(sal) sal

from emp

where job='MANAGER'

group by deptno

) temp,dept d, ( SELECT deptno dno,COUNT(empno) count FROM emp ? GROUP BY deptno) res

WHERE e.deptno=temp.dno AND e.sal=temp.sal AND e.job='MANAGER' and d.deptno=e.deptno and res.deptno=d.deptno 18、列出所有員工的年工資,所在部門(mén)名稱,按年薪從低到高排序。

select d.dname,(e.sal+nvl(e.comm,0))*12 yearsal

from dept d,emp e

where d.deptno=e.deptno

order by yearsal desc

19、查出某個(gè)員工的上級(jí)主管及所在部門(mén)名稱,并要求出這些主管中的薪水超過(guò)3000。

自己寫(xiě)的:

select e.empno,e.eame,d.dname,m.empno,m.ename

from emp e,dept d

where e.mgr=d.empno(+) and e.deptno and d.deptno and m.sal>3000

答案:

SELECT DISTINCT m.ename,d.dname,m.sal FROM emp e,emp m,dept d WHERE e.mgr=m.empno AND m.deptno=d.deptno AND m.sal>3000; 20、求出部門(mén)名稱中,帶‘S’字符的部門(mén)員工的工資合計(jì)、部門(mén)人數(shù)。

SELECT d.dname,SUM(e.sal),COUNT(e.empno) FROM emp e,dept d WHERE e.deptno(+)=d.deptno AND d.dname LIKE%S%’ GROUP BY d.dname;

21、給任職日期超過(guò)30年或者在87年雇傭的雇員加薪,加薪原則:10部門(mén)增長(zhǎng)10%,20部門(mén)增長(zhǎng)20%,30部門(mén)增長(zhǎng)30%,依次類推。

UPDATE emp SETsal=(1 + deptno/100)*sal WHERE MONTHS_BETWEEN(SYSDATE,hiredate)/12>30OR TO_CHAR(hiredate,’yyyy’)=1987;

以上的所有題目作為DML操作的總結(jié),這些題目結(jié)果都不重要,關(guān)鍵是解決問(wèn)題的思路,這些只能通過(guò)代碼的不斷練習(xí)。

二、總結(jié)

1、 多表查詢:在進(jìn)行查詢語(yǔ)句編寫(xiě)的時(shí)候,一定要確定所需要關(guān)聯(lián)的數(shù)據(jù)表,而且只要是表的關(guān)聯(lián)查詢,就一定會(huì)存在笛卡爾積的問(wèn)題,使用關(guān)聯(lián)字段消除此問(wèn)題。

在使用多表查詢的時(shí)候要考慮到左右連接的問(wèn)題,Oracle之外的數(shù)據(jù)庫(kù)可以使用SQL:1999語(yǔ)法控制左右連接;

2、?所有的統(tǒng)計(jì)函數(shù)是用于進(jìn)行數(shù)據(jù)統(tǒng)計(jì)操作的,而統(tǒng)計(jì)要在分組中進(jìn)行(或者是單獨(dú)使用),分組使用GROUP BY子句,是在某一列上存在重復(fù)數(shù)據(jù)的時(shí)候才會(huì)使用分組操作,而分組后的過(guò)濾使用HAVING子句完成,所有的分組函數(shù)可以嵌套,但是嵌套之后的分組函數(shù)之中不能再有其他的查詢字段,包括分組字段;

3、 子查詢:結(jié)合限定查詢、多表查詢、分組統(tǒng)計(jì)查詢完成各個(gè)復(fù)雜查詢的操作,子查詢一般在WHERE和FROM之后出現(xiàn)較多;

4、?數(shù)據(jù)庫(kù)的更新操作一定要受到事務(wù)的控制(事務(wù)的鎖機(jī)制),事務(wù)的兩個(gè)命令:COMMIT、ROLLBACK(解鎖),每一個(gè)連接到數(shù)據(jù)庫(kù)上的用戶都使用一個(gè)SESSION表示;

5、 數(shù)據(jù)表的分頁(yè)查詢顯示依靠ROWNUM偽列,以后在開(kāi)發(fā)之中必定100%要使用。

總結(jié)

以上是生活随笔為你收集整理的Oracle复杂查询21道题精析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲人视频在线 | 国产精品免费av一区二区三区 | 成人精品一区二区三区视频 | 欧美日韩大陆 | jizz视频在线观看 | 毛片免费视频 | 制服诱惑一区二区 | 日韩在线视频免费观看 | 91av看片 | 激情视频免费观看 | 久久我不卡 | 亚洲久久色 | 网站国产 | 国产a√精品区二区三区四区 | 成人a v视频 | 国产精品久久久毛片 | 成人亚洲网站 | 国产成人三级在线 | 欧美狠狠爱 | 又大又粗欧美黑人aaaaa片 | av日韩一区二区 | 成人av动漫在线观看 | 性视频一区 | 91网站永久免费看nba视频 | 壮汉被书生c到合不拢腿 | 人妻av一区二区三区 | 黄色aa大片 | av播播| 综合网五月天 | 窝窝在线视频 | 女人十八毛片嫩草av | 国产中文欧美日韩在线 | 精品一区电影国产 | www视频免费在线观看 | 久久综合色88 | 羞羞成人 | 偷拍精品一区二区三区 | 国产在线视频你懂的 | 韩国中文字幕hd久久精品 | 姝姝窝人体www聚色窝 | 午夜精品久久久久久久久久蜜桃 | 免费看91视频 | 乱人伦xxxx国语对白 | 欧美大片在线播放 | 日日噜噜夜夜狠狠久久丁香五月 | 91在线免费看 | 中文字幕日产 | 欧美一二| 美女福利在线观看 | 国产又黄又粗 | 国产精品视频一二区 | 久久亚洲一区二区三区四区五区 | 成人av电影在线播放 | 国产精品91av | 91黄色免费版 | 日本黄色大片视频 | 国产视频一区二区 | 欧美日韩国产区 | 欧美撒尿777hd撒尿 | 亚洲视频你懂的 | 婷婷色六月 | 日韩xx视频 | 91免费版在线 | 亚洲天堂网在线视频 | mm131美女视频 | 嫩草影院永久入口 | 国产精品午夜在线 | 三级黄色免费片 | 男人天堂怡红院 | 肉番在线观看 | 69er小视频 | 秋霞欧美一区二区三区视频免费 | 日韩精选视频 | 欧美永久精品 | 性欧美高清 | 亚洲午夜无码久久 | 大陆av在线播放 | 精品香蕉99久久久久网站 | 久久视频免费看 | 日韩在线观看不卡 | 国产视频123区 | 亚洲第一av在线 | 18一20岁毛毛片 | 福利在线视频观看 | 嘿咻视频在线观看 | 欧美精品一级二级三级 | 视频一区 国产 | 就要爱爱tv | 国产精品一二三区 | 亚洲卡一 | 粉嫩av网 | 免费看污片的网站 | 久在线观看视频 | 亚洲日本在线观看 | 亚洲xx网| 激情亚洲网 | www裸玉足久久久 | 五月天一区二区 | 男女一区二区三区 |