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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL 与 ORACLE 的比较

發布時間:2024/7/5 数据库 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL 与 ORACLE 的比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近參加了一個ORACLE的培訓,ORACLE與平日慣用的SQL SERVER果然有很大不同,在網上搜索了一下轉了這篇比較SQL與ORACLE的帖子,總體上感覺SQL SERVER使用更加便捷,人性化,在網上的資料支持很豐富ORACLE更加專家一些,性能可能也強一些,很多東西可以由管理員來配置,管理員手段更加豐富


001、SQL與ORACLE的內存分配

ORACLE的內存分配大部分是由INIT.ORA來決定的,一個數據庫實例可以有N種分配方案,不同的應用(OLTP、OLAP)它的配置是有側重的。 SQL概括起來說,只有兩種內存分配方式:動態內存分配與靜態內存分配,動態內存分配充許SQL自己調整需要的內存,靜態內存分配限制了SQL對內存的使 用。
002、SQL與ORACLE的物理結構
總得講,它們的物理結構很相似,SQL的數據庫相當于ORACLE的模式(方案),SQL的文件組相當于ORACLE的表空間,作用都是均衡DISK I/O,SQL創建表時,可以指定表在不同的文件組,ORACLE則可以指定不同的表空間。
CREATE TABLE A001(ID DECIMAL(8,0)) ON [文件組]
--------------------------------------------------------------------------------------------
CREATE TABLE A001(ID NUMBER(8,0)) TABLESPACE 表空間
注:以后所有示例,先SQL,后ORACLE
003、SQL與ORACLE的日志模式
SQL對日志的控制有三種恢復模型:SIMPLE、FULL、BULK-LOGGED;ORACLE對日志的控制有二種模式: NOARCHIVELOG、ARCHIVELOG。SQL的SIMPLE相當于ORACLE的NOARCHIVELOG,FULL相當于 ARCHIVELOG,BULK-LOGGED相當于ORACLE大批量數據裝載時的NOLOGGING。經常有網友抱怨SQL的日志龐大無比且沒法處 理,最簡單的辦法就是先切換到SIMPLE模式,收縮數據庫后再切換到FULL,記住切換到FULL之后要馬上做完全備份。
004、SQL與ORACLE的備份類型
SQL的備份類型分的極雜:完全備份、增量備份、日志備份、文件或文件組備份;ORACLE的備份類型就清淅多啦:物理備份、邏輯備 份;ORACLE的邏輯備份(EXP)相當于SQL的完全備份與增量備份,ORACLE的物理備份相當于SQL的文件與文件組備份。SQL的各種備份都密 切相關,以完全備份為基礎,配合其它的備份方式,就可以靈活地備分數據;ORACLE的物理備份與邏輯備份各司其職。SQL可以有多個日志,相當于 ORACLE日志組,ORACLE的日志自動切換并歸檔,SQL的日志不停地膨脹……SQL有附加數據庫,可以將數據庫很方便地移到別一個服務器, ORACLE有可傳輸表空間,可操作性就得注意啦。
005、SQL與ORACLE的恢復類型
SQL有完全恢復與基于時間點的不完全恢復;ORACLE有完全恢復與不完全恢復,不完全恢復有三種方式:基于取消的、基于時間的、基于修改的(SCN)的恢復。不完全恢復可以恢復數據到某個穩定的狀態點。
006、SQL與ORACLE的事務隔離
SET TRANSACTION ISOLATION LEVEL
SQL有四種事務隔離級別:
READ COMMITTED、READ UNCOMMITTED、REPEATABLE READ、SERIALIZABLE
ORACLE有兩種事務隔離級別
READ COMMITTED、SERIALIZABLE
SQL雖然有四種事務隔離,事務之間還是經常發生阻塞;ORACLE則利用回退段很好地實現了事務隔離,不會產生阻塞。SQL與ORACLE如果發生死鎖,都可以很快地識別并將之處理掉。
007 SQL與ORACLE的外鍵約束
SQL的外鍵約束可以實現級聯刪除與級聯更新,ORACLE則只充許級聯刪除。
CREATE TABLE A001(ID INT PRIMARY KEY,NAME VARCHAR(20))
CREATE TABLE A002(ID INT REFERENCES A001(ID)ON DELETE CASCADE ON UPDATE CASCADE,AGE TINYINT)
CREATE TABLE A001(ID INT PRIMAY KEY,NAME VARCHAR2(20))
CREATE TABLE A002(ID INT REFERENCES A001(ID)ON DELETE CASCADE,AGE NUMBER(2,0))
008、SQL與ORACLE的臨時表
SQL的臨時表用#或##開頭,使用完后自動釋放,ORACLE的臨時表則存在數據庫中,每個會話的數據都互不干涉。oracle臨時表中的紀錄可以被定 義為自動刪除(分commit方式和transaction方式),而表結構不會被自動刪除。臨時表的DML,DDL操作和標準表一樣。
CREATE TABLE #TEMP(ID INT,NAME VARCHAR(20))
-------------------------------------------------------
CREATE GLOBAL TEMPORARY TABLE TEMP(ID INT,VARCHAR2(20))
009、SQL與ORACLE的類型轉換
SQL常用類型轉換函數有:CAST、CONVERT、STR
ORACLE常用類型轉換函數有:TO_CHAR、TO_NUMBER、TO_DATE
SELECT CONVERT(VARCHAR(20),GETDATE(),112)
------------------------------------------------------------------------------------------------
SELECT TO_CHAR(SYSDATE,‘YYYYMMDD’)FROM DUAL
010、SQL與ORACLE的自動編號
SQL的編號一般由IDENTITY字段來提供,可以靈活地設定種子值,增量,取值范圍有BIGINT、INT、SMALLINT、TINYINT、 DEIMAL等;ORACLE的編號一般由SEQUENCE來提供,由NEXTVAL與CURVAL函數從SEQUENCES取值。
CREATE TABLE A003(ID INT IDENTITY(-9999,9),NAME VARCHAR(20))
-------------------------------------------------------------------------------------------------------
CREATE SEQUENCE SEQ_001 START 9999 INCREMENT BY 9
CREATE TABLE A004(ID INT)
INSERT INTO A004 VALUES(SEQ_001.NEXTVAL)
INSERT INTO A004 VALUES(SEQ_001.CURVAL+1)
011、SQL與ORACLE的分區表
從嚴格意思上來講,SQL還沒有分區表,它的分區表是以UNION為基礎,將多個結果集串起來,實際上是視圖;ORACLE的分區表有多種: PARTITION BY RANGE、PARTITION BY HASH、PARTITION BY LIST,其它就是混合分區,以上三種基礎分區的混合使用。當然ORACLE也可以象SQL那樣分區視圖。
CREATE TABLE A1999(ID INT,NAME VARCHAR(20))
CREATE TABLE A2000(ID INT,NAME VARCHAR(20))
CREATE VIEW V_PART AS
SELECT * FROM A1999 UNION SELECT * FROM A2000
--------------------------------------------------
CREATE TABLE A_PART1(ID INT,NAME VARCHAR2(20))
PARTITON BY RANGE(ID)(
PARTITION P1 VALUES LESS THEN (2000000) PATITION P2 VALUES LESS THEN (MAXVALUE))
CREATE TABLE A_PART2(ID INT,NAME VARCHAR2(20))
PARTITION BY HASH(ID) PARTITIONS 2 STORE IN (USERS01,USERS02)
CREATE TABLE A_PART3(ID INT,NAME VARCHAR2(20))
PARTITION BY LIST(ID)(
PARTIION P1 VALUES(‘01’,’03’,’05’) PARTITON P2 VALUES(‘02’,’04’))
012、SQL與ORACLE的存儲過程
SQL的存儲過程可以很方便地返回結果集,ORACLE的存儲過程只有通過游標類型返回結果集,這種結果集ADO不可識別,如果想使用ORACLE存儲過程的結果集,只有使用ODAC開發包SQL的過程參數如果是字符必須指定參數長度,ORACLE的過程則不充許指定字符參數的長度。
CREATE PROCEDURE UP_001(@ID INT) AS
BEGIN
SELECT ID ,SUM(QTY) FROM A_TEST WHERE ID=@ID GROUP BY @ID
END
------------------------------------------------------------
CREATE OR REPLACE PACKAGE UP_002 AS
TYPE MYCURSOR IS REF CURSOR;
FUNCTION GETRECORD RETURN MYCURSOR;
END;
CEEATE OR REPLACE PACKAGE BODY UP_002 AS
FUNCTION GETRECORD RETURN MYCURSOR AS
MC MYCURSOR;
SL VARCHAR2(999);
BEGIN
OPEN MC FOR SELECT * FROM A001;
RETURN MC;
END;
END;
ORACLE的存儲函數返回結果這么艱難,但SQL的觸發器竟然也充許返回結果集就令人費解啦,觸發器的調試比較麻煩,在SQL實際開發中,一般都將觸發器要執行的代碼放到過程中進行調試,在查詢分析器中可以對過程進行設斷點調試。
013、SQL與ORACLE的觸發器
觸發器的事務是引起觸發動作事務的延續,在SQL的觸發器中是可以無BEGIN TRAN而可以直接COMMIT TRAN的。SQL的觸發器是表級觸發器,DML影響一行或無數行觸發動作只觸發一次,ORACLE分表級觸發器與行級觸發器,觸發的粒度更細膩一些, SQL在處理多行時就必須使用CURSOR啦。ORACLE使用INSERTING、DELTING、UPDATING判斷執行了什么DML操作,SQL 只有判斷INSERTED、DELETED的記錄數來判斷執行了什么操作,只有INSERTED映象表記錄數大于0表示INSERT,只有DELETED 映象表記錄數大于0表示DELETE,若兩個表記錄數都大于0表示UPDATE。
用SQL的觸發器實現級聯添加、級聯刪除、級聯更新
CREATE TABLE A1(ID INT,NAME VARCHAR(20))
CREATE TABLE A2(ID INT,NAME VARCHAR(20))
CREATE TRIGGER TRI_A1_INS ON A1
FOR INSERT , DELETE , UPDATE AS BEGIN
DECLARE @I INT,@D INT,@ID INT
SELECT @I=COUNT(*) FROM INSERTED
SELECT @D=COUNT(*) FROM DELETED
--IF (@I>0 AND @D>0) 執行更新,由于用到游標,故略去
IF @I>0
INSERT INTO A2 SELECT * FROM INSERTED
IF @D>0
DELETE FROM A2 WHERE ID=@ID
END
----------------------------------------------------------------------
用ORACLE的觸發器實現級聯添加、級聯刪除、級聯更新
CREATE OR REPLACE TRI_A1_INS
AFTER INSERT OR DELETE OR UPDATE ON A1
FOR EACH ROW
BEGIN
IF INSERTING THEN
INSERT INTO A2 SELECT * FROM :NEW;
END IF;
IF DELETING THEN
DELETE FROM A2 WHERE ID = :OLD.ID ;
END IF;
IF UPDATING THEN
UPATE A2 SET ID = :NEW.ID , NAME = :NEW.NAME WHERE ID = :OLD.ID ;
END IF;
END
014、SQL與ORACLE的游標
SQL的游標用@@FETCH_STATUS判斷是否還有數據,ORACLE的游標用%FOUND、%NOTFOUND來判斷游標是否結束,游標分服務端 游標與客戶端游標,在存儲過程、函數、觸發器中聲明的游標為服務端游標,其它處聲明的游標為客戶端游標,游標需要使用較多的內存,但它比臨時表的性能要優 一些,因為臨時表占用的是DISK I/O,DISK I/O應該比服務器的內存要更珍貴一些吧。
015、SQL與ORACLE的重復記錄刪除
好的數據庫設計重復記錄是不存在的,如果有重復記錄如何刪除呢?SQL可以使用SET ROWCOUNT N設置客戶端緩沖區的記錄來刪除,ORACLE可以使用ROWID來進行,都必須進行一些簡單的編程,SQL可以做用過程,更通用一些,ORACLE如果 想做得通過不太容易,字段小些會更方便處理一些。
DECLARE @M INT
SELECT @M=COUNT(*) FROM A_TEST WHERE ID=X
SELECT @M=@M-1
SET ROWCOUNT @M --限制客戶端緩沖區的記錄數
DELETE FROM A_TEST WHERE ID=X
SET ROWCOUNT 0 --取消限制
說明 刪除某條記錄的重復值,如果想清除表的所有重值要使用游標,取得所有的X
---------------------------------------------------------------------
DELETE FROM A_TEST A WHERE ROWID!=(SELECT MAX(ROWID) FROM A_TEST B
WHERE A.ID=B.ID AND A.NAME=B.NAME)
說明 當數據量較大時,這種方法將會使用系統大量的資源
016 SQL與ORACLE的對象加密
SQL與ORACLE的某些對象如過程、視圖、函數、觸發器可能涉及商業,開發商通常希望對這些對象進行加密,SQL的加密方法在創建時帶上WITH ENCRYPTION,ORACLE的對象加密明顯復雜一些,要使用WRAP工具,在ORACLE的BIN目錄內。
017 SQL與ORACLE的表生成SQL語句
SQL與ORACLE的表如何才導成SQL語句呢?如果一定要編程實現,SQL需要將其它數據類型的字段轉換成VARCHAR類型,ORACLE則可以隱式進行數據類型轉換。
CREATE TABLE A_SQL(ID INT,NAME VARCHAR(20)) –假如有兩萬記錄
SELECT ‘INSERT INTO A_SQL VALUES(‘+CAST(ID
AS VARCHAR(20))+’,’’’+NAME+’’’)’ FROM A_SQL
----------------------------------------------------------------
SELECT ‘INSERT INTO A_SQL VALUES(‘||ID||’,’||’’’||NAME||’’’||’)’
FROM A_SQL
說明 SQL的字符串連接用+號,ORACLE字符串連接用||,單引號可以做轉義符。
018、SQL與ORACLE的動態SQL
SQL與ORACLE都支持動態SQL語句,SQL用EXEC()執行的動態SQL語句,ORACLE用EXECUTE IMMEDIATE執行動態SQL。動態SQL的效率要比非動態SQL性能差,但使用起來非常靈活,可以根據不同條件執行不同的任務。
DECLARE @SQL VARCHAR(99)
SELECT @SQL=’declare @m int select @m=count(*) from sysobjects select @m’
EXEC(@SQL)
--------------------------------------------
DECLARE
S VARCHAR2(99);
BEGIN
S:='SELECT COUNT(*) FROM '||' USER_TABLES';
EXECUTE IMMEDIATE S;
END;
19、返回記錄集中前N條記錄的語法?
SQL只有使用TOP,ORACLE可以使用ROWNUM
SELECT TOP N * FROM 記錄集(表,視圖,子查詢)
---------------------------------------------
SELECT * FROM 記錄集 WHERE ROWNUM<=N
20 如何返回記錄集中相臨兩記錄之間某字段的差值?
CREATE TABLE A001(ID INT,QTY INT)
INSERT INTO A001 VALUES(1,20)
INSERT INTO A001 VALUES(4,10)
SELECT IDENTITY(INT,1,1) CODE,QTY INTO #X FROM A001
SELECT B.QTY-A.QTY FROM #X A,#X B WHERE A.CODE=B.CODE-1
DROP TABLE #X
--------------------------------------------------------
CREATE TABLE A002(ID INT)
INSERT INTO A002 VALUES(1)
INSERT INTO A002 VALUES(9)
WITH A AS (SELECT ROWNUM RN,ID FROM A002)
SELECT A2.ID-A1.ID FROM A A2,A A1 WHERE A2.RN=A1.RN-1
說明 雖然語法大不相同,但最大的特點是兩者都使用了自連接技術。
21 如何返回任意某個范圍之間的記錄集?
CREATE TABLE A03(ID INT)
DECLARE @I INT
SELECT @I=1
WHILE @I<1000 BEGIN
INSERT INTO A03 VALUES(@I)
SELECT @I=@I+1
END
--前部分是創建環境,后一部分是實現方法,比較牽強
SELECT IDENTITY(INT,1,1) CODE,ID INTO #X FROM A03
SELECT ID FROM #X WHERE CODE BETWEEN 10 AND 20
DROP TABLE #X
------------------------------------------------------
BEGIN
FOR I IN 1..999 LOOP
INSERT INTO A03 VALUES(I);
END LOOP;
END;

SELECT * FROM A03 WHERE ROWNUM<20
MINUS
SELECT * FROM A03 WHERE ROWNUM<10;
說明 在數據提取方面,ORACLE有ROWID,ROWNUM使之有相當強的優勢,SQL只有使用函數IDENTITY來構建一個臨時表,這樣來說還不好使用 CURSOR來性能會好一些。通過這個例子,大家還可以看出SQL與ORACLE的程序結構,ORACLE更嚴謹、人性化一些。
22、表A04中的含有A、B、C、D四個字段,當按A字段分組后,如果D等1,則只統計B的值,如果D等0,則只統計C的值。
CREATE TABLE A04(A VARCHAR(20),B INT,C INT,D INT)
INSERT INTO A04 VALUES('01',20,7,'0')
INSERT INTO A04 VALUES('01',10,8,'1')
INSERT INTO A04 VALUES('02',20,7,'1')
INSERT INTO A04 VALUES('02',10,8,'0')
SELECT A,SUM(CASE D WHEN 1 THEN B WHEN 0 THEN C END) FROM A04 GROUP BY A
---------------------------------------------------------------
SELECT A,SUM(DECODE(D,1,B,0,C)) FROM A04 GROUP BY A
說明 ORACLE 9I可以使用CASE語句來實現這種操作,但也可以用DECODE來作統計,使用CASE比DECODE提供了更為強大的功能,但DECODE的語法顯然比CASE WHEN THEN END要簡潔得多。
23、如何刪除數據庫所有表?(ORACLE則是刪除模式所有表)
DECLARE @SQL VARCHAR(99),@TBL VARCHAR(30),@FK VARCHAR(30)
DECLARE CUR_FK CURSOR LOCAL FOR
SELECT OBJECT_NAME(CONSTID),OBJECT_NAME(FKEYID) FROM SYSREFERENCES
--刪除所有外鍵
OPEN CUR_FK
FETCH CUR_FK INTO @FK,@TBL
WHILE @@FETCH_STATUS =0
BEGIN
SELECT @SQL='ALTER TABLE '+@TBL+' DROP CONSTRAINT '+@FK
EXEC(@SQL)
--SELECT @SQL='DROP TABLE '+@TBL
FETCH CUR_FK INTO @FK,@TBL
END
CLOSE CUR_FK
DECLARE CUR_FKS CURSOR LOCAL FOR
SELECT NAME FROM SYSOBJECTS WHERE XTYPE='U'
OPEN CUR_FKS
FETCH CUR_FKS INTO @TBL
WHILE @@FETCH_STATUS =0
BEGIN
SELECT @SQL='DROP TABLE ['+@TBL+']'
EXEC(@SQL)
FETCH CUR_FKS INTO @TBL
END
CLOSE CUR_FKS
----------------------------------------------------------------
DECLARE
S VARCHAR2(99);
CURSOR CUR_F IS SELECT CONSTRAINT_NAME,TABLE_NAME FROM USER_CONSTRAINTS
WHERE CONSTRAINT_TYPE='R';
CURSOR CUR_T IS SELECT TABLE_NAME FROM USER_TABLES;
BEGIN
FOR V IN CUR_F LOOP
S:='ALTER TABLE '||V.TABLE_NAME||' DROP CONSTRAINT '||V.CONSTRAINT_NAME;
EXECUTE IMMEDIATE S;
END LOOP;
FOR T IN CUR_T LOOP
S:='DROP TABLE '||T.TABLE_NAME;
EXECUTE IMMEDIATE S;
END LOOP;
END;
說明 SQL刪除數據庫時,用到了兩個系統表:SYSREFERENCES、SYSOBJECTS,前一個可以獲得所有外鍵鍵信息,后者可以獲得所有表的信息,在刪除表時還在表名上加了一對中括號,即使用表名含有空格鍵或其它特殊這符也可以順利刪除。
在ORACLE中,要刪除模式的所有表,方法和SQL差不多,需要用到的數據字典也有兩個:USER_CONSTRAINTS、USER_TABLES; USER_CONSTRAINTS中CONSTRAINT_TYPE值等于R表示是外鍵,同樣也要用到CURSOR與動態SQL,這里提醒一下大家, FOR … LOOP內的變量變量是FOR … LOOP聲明的,可以ORACLE的程序結構比SQL簡潔。
24、如何統計數據庫所有用戶表的記錄數(ORACLE統計模式內所有表的記錄數)?
CREATE TABLE #TMP (QTY INT)
CREATE TABLE #TMP1 (TBL VARCHAR(30),QTY INT)
DECLARE @SQL VARCHAR(99),@TBL VARCHAR(30),@QTY INT
DECLARE CUR_FKS CURSOR LOCAL FOR
SELECT NAME FROM SYSOBJECTS WHERE XTYPE='U'
OPEN CUR_FKS
FETCH CUR_FKS INTO @TBL
WHILE @@FETCH_STATUS =0
BEGIN
SELECT @SQL='SELECT COUNT(*) FROM '+@TBL
INSERT INTO #TMP EXEC(@SQL)
SELECT @QTY=QTY FROM #TMP
INSERT INTO #TMP1 VALUES(@TBL,@QTY)
DELETE FROM #TMP
FETCH CUR_FKS INTO @TBL
END
CLOSE CUR_FKS
SELECT * FROM #TMP1
---------------------------------------------------------------
DESC DBMS_UTILITY
EXECUTE DBMS_UTILITY.ANALYZE_SCHEMA('SCOTT','COMPUTE');
SELECT TABLE_NAME,NUM_ROWS FROM USER_TABLES;
說明 SQL的EXEC功能可謂十分強大,竟然可以和INSERT INTO合用,將結果集存入一個表中,MS可真牛。ORACLE就只好用個偷懶的方法,首先將要統計的模式進行統計分析,在數據字典中就記載了每個表的行數,ORACLE很簡單吧。
25、SQL與ORACLE快速建表的方法?
SELECT * INTO 新表名稱 FROM 子查詢|表名
-----------------------------------------
CREATE TABLE 新表名稱 AS 子查詢
說明 快速建表可以有效地消除碎片,速度極快。
26、如何實現有一組有規則的編號(如200305310001…200305310999)?
DECLARE @I INT,@C VARCHAR(20)
SELECT @I=1
WHILE @I<1000 BEGIN
SELECT @C=CASE WHEN @I<10 THEN '000'+CAST(@I AS CHAR(1))
WHEN @I BETWEEN 10 AND 99 THEN '00'+CAST(@I AS CHAR(2))
WHEN @I BETWEEN 100 AND 999 THEN '0'+CAST(@I AS CHAR(3))
END
SELECT @C=CONVERT(VARCHAR(20),GETDATE(),112)+@C
SELECT @C --在查詢分析器中輸出
SELECT @I=@I+1
END
---------------------------------------------------------
DECLARE
C VARCHAR2(20);
BEGIN
FOR I IN 1 .. 999 LOOP
DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSDATE,'YYYYMMDD')||LPAD(I,4,'0'));
END LOOP;
END;
說明 雖然都可以實現,但ORACLE的LPAD果然身手不凡,可憐的MS還沒有類似LPAD的函數,只有用CASE進行判斷組合,真得很蠢,如果你有好的辦法,請明示,甚至連循環結構,SQL稍也不慎,就死循環啦(如果注釋掉加藍顯示那條語句的話)。
27、關于SQL與ORACLE的分布式結構
SQL在分布式方面做得不錯,不僅提供了鏈接服務器的方式供初級用戶使用,還提供了OPENDATASOURCE、OPENXML、OPENQUERY、 OPENROWSET等行集函數,可以方便地通過SQL語句從*.TXT、*.XLS、*.XML、*.MDB、*.DBF等介質獲取數據,還可以從 ORACLE、DB2、SYBASE等數據庫獲取數據;ORACLE在同構數據庫之間提供了DB LINK,異構數據庫之間提供了透明網關軟件。
28、現在有三個表,結構如下
Score(FScoreId 成績記錄號,FSubID 課程號,FStdID 學生號,FScore 成績)
student:(FID 學生號,FName 姓名)
subject:(FSubID 課程號,FSubName 課程名),
怎么能實現這個表:
姓名 英語 數學 語文 歷史
張薩 78 67 89 76
王強 89 67 84 96
李三 70 87 92 56
李四 80 78 97 66
SELECT A.FNAME AS 姓名,
英語 = SUM(CASE B.FSUBNAME WHEN '英語' THEN C.FSCORE END),
數學 = SUM(CASE B.FSUBNAME WHEN '數學' THEN C.FSCORE END),
語文 = SUM(CASE B.FSUBNAME WHEN '語文' THEN C.FSCORE END),
歷史 = SUM(CASE B.FSUBNAME WHEN '歷史' THEN C.FSCORE END)
FROM STUDENT A, SUBJECT B, SCORE C
WHERE A.FID = C.FSTDID AND B.FSUBID = C.FSUBID GROUP BY A.FNAME
------------------------------------------------------------------------
SELECT A.FNAME AS 姓名,
英語 = SUM(DECODE(B.FSUBNAME,’ 英語’,C.FSORE)),
數學 = SUM(DECODE(B.FSUBNAME,’ 數學’,C.FSORE)),
語文 = SUM(DECODE(B.FSUBNAME,’ 語文’,C.FSORE)),
歷史 = SUM(DECODE(B.FSUBNAME,’ 歷史’,C.FSORE)),
FROM STUDENT A, SUBJECT B, SCORE C
WHERE A.FID = C.FSTDID AND B.FSUBID = C.FSUBID GROUP BY A.FNAME
說明 這個案例主要是運用CASE與DECODE,當然也涉及GROUP BY的用法。
29、有兩個表,用一條SQL語句算出商品A,B目前還剩多少?表結構如下:
商品名稱mc 商品總量sl 表一(AAA)
A 100
B 120
商品名稱mc 出庫數量sl 表二(BBB)
A 10
A 20
B 10
B 20
SELECT TA.商品名稱,A-B AS 剩余數量 FROM
(SELECT 商品名稱,SUM(商品總量) AS A FROM AAA GROUP BY 商品名稱)TA,
(SELECT 商品名稱,SUM(出庫數量) AS B FROM BBB GROUP BY 商品名稱)TB
WHERE TA.商品名稱=TB.商品名稱
----------------------------------------------------------
SELECT 商品名稱,SUM(商品總量)剩余數量 FROM
(SELECT * FROM AAA
UNION ALL
SELECT 商品名稱,-出庫數量 FROM BBB)A GROUP BY 商品名稱
30、如何將A表的某個字段更新到表B的某個字段?
UPDATE A SET QTY=B.QTY FROM B WHERE A.CODE=B.CODE
---------------------------------------------------
UPDATE A SET QTY=(SELECT QTY FROM B WHERE B.CODE=A.CODE)
說明 這兩道題在語法上SQL與ORACLE沒有發別,只不過是兩種思路而已。
31、有一個商品銷售表,記載了某月商品的銷售數量,現在要為所有商品排名次,放到一個單獨的字段中,就是說達到右邊顯示的效果,如何作?
BU1032 5 NULL BU1032 5 2
PS2091 3 NULL PS2092 3 3
PC8888 50 NULL PC8888 50 1
UPDATE X SET ORD=(SELECT COUNT(*)+1 FROM X B WHERE B.QTY>X.QTY)
----------------------------------------------------------------
SELECT CODE,QTY,RANK() OVER (ORDER BY QTY) ORD FROM A_TEST
說明 SQL中的排序是通過UPDATE更新,然后再顯示出來,而ORACLE使用了RANK OVER函數,直接將數據集顯示出來,而且RANK OVER函數還可以通過PARTITION BY對分組中的數據進行排序。
32、SQL與ORACLE的文件結構
SQL文件被格式化為8K為單位的頁,每8個相鄰的頁稱為盤區(64K),若該盤區分配給一個對象,稱為一致盤區,若分配給多個對象等為混合盤區,SQL 有全局分配頁面、數據頁面、索引頁頁、BLOB頁面、TEXT頁面。ORACLE的文件最小邏輯單位是由INIT.ORA中的BLOCK_SIZE的值決 定的,可以取2K、4K、6K、8K、16K、32K等,ORACLE的盤區是由一些塊組成的,ORACLE的段是由盤區組成的,ORACLE有數據段、 索引段、回退段(UNDO段)、臨時段、CLOB/BLOB段、CLUSTER段等。
33、SQL與ORACLE如何取得一個全局唯一標識標(GUID)
SELECT NEWID()
----------------------------------
SELECT SYS_GUID() FROM DUAL
34、本人有一張表單, 要求統計COL1~COL6中不等于2的列的個數,數據如下:
————————————————————————————————
ROW_ID | COL1 | COL2 | COL3 | COL4 | COL5 | COL6 |
1 | 2 | 1 | 1 | 2 | 3 | 2 |
2 | 1 | 1 | 2 | 2 | 2 | 2 |
3 | 2 | 3 | 2 | 2 | 1 | 2 |
4 | 2 | 2 | 2 | 2 | 1 | 2 |
5 | 1 | 2 | 2 | 2 | 2 | 2 |
6 | 2 | 2 | 2 | 2 | 2 | 1 |
————————————————————————————————
要求結果如下:
—————————
ROW_ID | COUNT |
1 | 3 |
2 | 2 |
3 | 2 |
4 | 1 |
5 | 1 |
6 | 1 |
SELECT ROW_ID,(6-(CASE WHEN COL1=2 THEN COL1 / 2 ELSE 0 END)
-(CASE WHEN COL2=2 THEN COL2 / 2 ELSE 0 END)
-(CASE WHEN COL3=2 THEN COL3 / 2 ELSE 0 END)
-(CASE WHEN COL4=2 THEN COL4 / 2 ELSE 0 END)
-(CASE WHEN COL5=2 THEN COL5 / 2 ELSE 0 END)
-(CASE WHEN COL6=2 THEN COL6 / 2 ELSE 0 END))AS COUNT FROM TABLE_A
35、有一客戶表,數據如下:
客戶 日期 資金
F001 2003-03-05 123.00
F002 2003-03-04 1223.00
F002 2003-03-02 1123.00
F003 2003-03-05 1231.00
F003 2003-03-04 1232.00
要求選出每個客戶最新的哪條記錄 組成一個結果集,結果如下:
F001 2003-03-05 123.00
F002 2003-03-04 1223.00
F003 2003-03-05 1231.00
實現方法:
SELECT A.客戶, B.日期, A.資金 FROM 客戶資金表 A,
(SELECT 客戶, MAX(日期) 日期 FROM 客戶資金表 GROUP BY 客戶 ) B
WHERE A.客戶 = B.客戶 AND A.日期 = B.日期
36 現在看一個高難度的作業,后來解決辦法和本例不同,請看需求。
視圖1 CITYWATER_VIEW
行政區劃名稱 城市用水量(億M3) 。。。
北京市 15000 …
上海市 9000 …
天津市 5400 …
重慶市 9500 …



表2 CODE
區劃 代碼
北京市 100000
上海市 200000
天津市 300000
表3 CITYWATER
代碼 城市用水
100000 15000
200000 9000
300000 5400
表1 DICTIONARY
字段別名 字段全名
區劃 行政區劃名稱
代碼 行政區劃代碼
城市用水 城市用水量(億M3)

表1-2是數據庫public中的基表,表3是數據庫water中的基表;在數據庫water中創建視圖1,用T-SQL語句怎樣實現?把查詢結果的“字 段別名”修改為視圖中的“字段全名”,如果采用T-SQL中的常用修改列標題方式(SELECT column_name AS expression或者SELECT expression= column_name ),很煩,每個基表里的字段太多,并且基表有近200個,字段近3000個。
說明:其實現在要作的就是將表3中的“代碼“、“城市用水”替代成表1中的行政區劃代碼、城市用戶量(億M3)等。
CREATE VIEW V_GOD
AS SELECT A.[100000],B.[310000],B.[114011],B.[114111],B.[114421],B.[114311],B.[114321] FROM CODE A,FA01P B WHERE A.[200000]=B.[200000]
DECLARE CUR_COL CURSOR LOCAL FOR
SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID('V_GOD')
DECLARE @COL VARCHAR(20),@SQL VARCHAR(999),
@COL_TOTAL VARCHAR(8000),@ALIAS VARCHAR(99),
@SOURCE VARCHAR(8000)
OPEN CUR_COL
FETCH CUR_COL INTO @COL
WHILE @@FETCH_STATUS=0
BEGIN
SELECT @ALIAS=字段名 FROM DICTIONARY WHERE 段碼=@COL
IF @COL_TOTAL IS NULL
SELECT @COL_TOTAL=@ALIAS
ELSE
SELECT @COL_TOTAL=@COL_TOTAL+','+@ALIAS
FETCH CUR_COL INTO @COL
END
CLOSE CUR_COL
SELECT @SOURCE=RTRIM(TEXT) FROM SYSCOMMENTS WHERE ID=OBJECT_ID('V_GOD')
SELECT @SOURCE=RTRIM(SUBSTRING(@SOURCE,CHARINDEX('AS',@SOURCE),LEN(@SOURCE)))
SELECT @SOURCE='ALTER VIEW V_GOD('+@COL_TOTAL+') '+@SOURCE
EXEC(@SOURCE)
說明 由于該實例需要的表有兩個已沒有記錄,所以大家只有看看T-SQL的語法及動態SQL的編寫,ORACLE也類似。
37、如何用SQL操作一段XML文件?
CREATE PROCEDURE UP_XML_TEST(@DOC VARCHAR(7999))
AS
BEGIN
DECLARE @IDOC INT
EXEC SP_XML_PREPAREDOCUMENT @IDOC OUTPUT, @DOC
SELECT *
FROM OPENXML (@IDOC, '/ROOT/DATASET/BOOKS',2)
WITH(TITLE VARCHAR(32) 'TITLE',
AUTHOR VARCHAR(20) 'AUTHOR',
PRICE DECIMAL(9,2) 'PRICE')
EXEC SP_XML_REMOVEDOCUMENT @IDOC
END

CREATE FUNCTION UF_XML_TEST(@DOC VARCHAR(7999))
RETURNS @T TABLE(TITLE VARCHAR(32),
AUTHOR VARCHAR(20),
PRICE DECIMAL(9,2))
AS
BEGIN
DECLARE @IDOC INT
EXEC SP_XML_PREPAREDOCUMENT @IDOC OUTPUT, @DOC
INSERT INTO @T SELECT *
FROM OPENXML (@IDOC, '/ROOT/DATASET/BOOKS',2)
WITH(TITLE VARCHAR(32) 'TITLE',
AUTHOR VARCHAR(20) 'AUTHOR',
PRICE DECIMAL(9,2) 'PRICE')
EXEC SP_XML_REMOVEDOCUMENT @IDOC
RETURN
END

DECLARE @DOC VARCHAR(7999)
SELECT @DOC=
'<ROOT>
<DATASET>
<BOOKS>
<TITLE>DELPHI</TITLE>
<AUTHOR>ABC</AUTHOR>
<PRICE>38.00</PRICE>
</BOOKS>
<BOOKS>
<TITLE>MIDAS</TITLE>
<AUTHOR>DEF</AUTHOR>
<PRICE>26.00</PRICE>
</BOOKS>
</DATASET>
</ROOT>'
EXEC UP_XML_TEST @DOC
--SELECT * FROM DBO.UF_XML_TEST(@DOC)

轉載于:https://www.cnblogs.com/ioriwuhj/archive/2008/06/27/1231357.html

總結

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

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

99re8这里有精品热视频免费 | 天海冀一区二区三区 | 欧美极度另类性三渗透 | 久久久久美女 | 天天射天天干天天操 | 国产日韩欧美在线 | 蜜臀久久99精品久久久酒店新书 | 国产香蕉久久精品综合网 | 久久人人爽爽人人爽人人片av | 色妞色视频一区二区三区四区 | 婷婷丁香色综合狠狠色 | 久久久福利 | 国产欧美久久久精品影院 | 色综合久久久久 | 国产精品久久久久久久久久ktv | 黄色大全免费观看 | 国产亚洲欧美在线视频 | 97超碰资源总站 | 91成人在线免费观看 | 久久伊人精品一区二区三区 | 日日干日日操 | 2024国产精品视频 | 91亚洲精品国偷拍自产在线观看 | 久久99操| 国产精品精品久久久久久 | a极黄色片 | 在线视频电影 | 亚洲理论在线 | 97视频精品 | 成年人三级网站 | 免费色av| 亚洲91在线 | 国产拍揄自揄精品视频麻豆 | 91黄色在线视频 | 国产免费中文字幕 | 亚欧日韩成人h片 | 久久久久久黄色 | 精品嫩模福利一区二区蜜臀 | 成人免费观看视频网站 | 久久午夜色播影院免费高清 | 美女黄频视频大全 | 成人小电影在线看 | 久久99久久99精品免费看小说 | 深夜国产在线 | 国产精品久一 | 国产亚洲成av片在线观看 | 美女久久久久 | 免费av在线网站 | 天天狠狠干 | 高清不卡一区二区在线 | av一级一片 | 久久网站免费 | 啪嗒啪嗒免费观看完整版 | 色在线高清 | av成人在线电影 | 麻豆视频免费观看 | 国产美女精品视频 | 亚洲 av网站| 毛片视频网址 | 99精品一区二区三区 | 久久99视频精品 | 日韩在线免费看 | 91精品国产91久久久久 | 久久久久免费精品国产小说色大师 | 在线va视频| 久久99久久久久久 | 国产精品99久久久久久久久久久久 | 美女国内精品自产拍在线播放 | 日本韩国精品在线 | www免费视频com━ | 中文字幕资源站 | 久久新视频 | 九色视频网站 | 国产一级在线观看视频 | 狠狠操.com | av在线影视 | 亚洲九九九在线观看 | a在线视频v视频 | 欧美日韩精品影院 | 午夜电影久久久 | 国产 在线 日韩 | 亚洲成色| 国产精品美女久久久久久久 | av中文字幕电影 | 99热在| 免费视频色| 亚洲综合激情 | 99久久成人 | 日精品在线观看 | 日韩精品一区二区三区视频播放 | 福利片免费看 | 久久久免费高清视频 | 国产精品女同一区二区三区久久夜 | 91av电影网| 日韩久久精品一区二区三区下载 | 成人黄色大片在线观看 | 国产精品九九九九九 | 色五月成人 | av免费福利 | 欧美 日韩 性 | 91九色精品女同系列 | 中文字幕在线观看第三页 | 人人草在线视频 | 久久午夜色播影院免费高清 | 亚洲精品中文字幕视频 | 亚洲专区 国产精品 | 久久综合丁香 | 96精品在线 | 人人插人人费 | japanesexxxhd奶水| 国产精品99久久久精品 | 国产又粗又猛又爽又黄的视频免费 | 国产中文字幕在线看 | 最近中文字幕mv免费高清在线 | 成人免费视频免费观看 | 中文在线字幕免费观 | 亚洲日本一区二区在线 | 狠狠插狠狠干 | 99re视频在线观看 | 99国产视频| 国产97超碰| 久久久黄视频 | 国产精品一区在线 | 91在线视频观看 | 免费av在线网站 | 国产成人免费观看 | 中文字幕成人av | 久草在线精品观看 | 免费高清无人区完整版 | 国产一区二区免费在线观看 | 97视频播放| 精品一区二区精品 | 五月综合色婷婷 | 伊人伊成久久人综合网小说 | 国产成人333kkk| 操操操人人 | 国产亚洲情侣一区二区无 | 国产无遮挡猛进猛出免费软件 | 六月丁香色婷婷 | 久久久久免费精品国产 | 蜜臀av免费一区二区三区 | 99超碰在线播放 | 久草网在线视频 | 2023av在线 | 中文字幕av最新 | 久久久久久久久久毛片 | 特级西西444www大精品视频免费看 | 国产精品福利av | 91视频成人免费 | 91精品啪 | 91九色性视频 | 五月综合激情 | 91亚洲影院| 精品亚洲网 | 91夫妻视频 | 日韩av中文 | 国产精品va最新国产精品视频 | 中文字幕色在线视频 | 国产在线中文字幕 | 最新黄色av网址 | 国产在线观看黄 | 亚洲另类视频 | 国产乱对白刺激视频不卡 | 色综合www | av在线电影免费观看 | 最新免费中文字幕 | 在线 国产 亚洲 欧美 | 欧美一区在线观看视频 | 99在线看 | 91成人小视频 | 高清不卡毛片 | 制服丝袜天堂 | 国产美女主播精品一区二区三区 | 欧美性一级观看 | 国产精品电影一区二区 | 中文亚洲欧美日韩 | 人人看人人 | 久久国产成人午夜av影院潦草 | 一区二区精 | 国产精品久久久久一区二区国产 | 狠狠色噜噜狠狠狠狠2022 | 4438全国亚洲精品在线观看视频 | 四虎国产精品成人免费影视 | 国产第一页在线播放 | 九九热中文字幕 | 亚洲成人网在线 | 久久久久久久福利 | 蜜臀久久99精品久久久酒店新书 | 日韩欧在线 | 婷婷色网站 | 午夜精品视频在线 | 精品久久九九 | 色综合www | 久久久久免费观看 | 一区二区三区在线观看中文字幕 | 国产激情小视频在线观看 | 久草精品视频在线看网站免费 | 五月婷婷久草 | 99在线免费观看视频 | av中文字幕在线观看网站 | 中文字幕av日韩 | 亚洲精品播放 | 伊人在线视频 | 久久九九视频 | 国产精品久久久久久一区二区三区 | 亚洲欧美日韩中文在线 | 久草在线免费色站 | 婷婷丁香社区 | 久草在线高清视频 | 黄色三级免费网址 | 亚洲综合在线播放 | 亚欧日韩成人h片 | 三级毛片视频 | 最新av免费 | 成人av免费看 | 天天射天天做 | 国产高潮久久 | 亚洲精品在线网站 | 97电影在线观看 | www.黄色片网站| 国产亚洲精品久久久久久移动网络 | 免费看日韩片 | 国产主播99| 天天操天天干天天摸 | av网站手机在线观看 | 国产精品永久免费在线 | av网站免费线看精品 | 国产特级毛片aaaaaa毛片 | 国产精品福利在线播放 | 国产一区电影在线观看 | 日本久草电影 | 国产亚洲精品久久久久久 | 欧美精品一级视频 | 成人黄色中文字幕 | 五月婷婷一区二区三区 | 久久久免费电影 | 丁香六月激情婷婷 | 亚洲a色 | 国产色在线观看 | 国产精品视频99 | 在线国产一区二区三区 | 在线观看免费国产小视频 | 黄色在线成人 | 亚洲va在线va天堂va偷拍 | 成人a在线| 久久一区二区三区超碰国产精品 | 波多野结衣动态图 | 五月天激情综合 | 国产精品久久久久久久久毛片 | 久久精品视频中文字幕 | www.com久久久 | 97视频免费在线 | 日韩精品第1页 | 成人久久综合 | 五月婷婷中文网 | 国产精品 久久 | 欧美日韩在线播放一区 | 九九99靖品| 国内少妇自拍视频一区 | 人人爽网站 | 91在线产啪 | 国产精品久久久久久久av电影 | 国产精品麻豆欧美日韩ww | 久久线视频 | 国外av在线 | 亚洲狠狠婷婷 | 精品女同一区二区三区在线观看 | 国产日韩精品在线观看 | 日日躁夜夜躁aaaaxxxx | 天天插天天干天天操 | 欧美超碰在线 | 手机av在线不卡 | 91欧美国产 | 玖玖玖影院 | 亚洲国产精品第一区二区 | 四虎国产免费 | 国产精品成久久久久三级 | 精品国产_亚洲人成在线 | 91人人视频在线观看 | 亚洲伊人天堂 | 日本性生活免费看 | 免费观看一区二区 | 99色在线视频 | 色九九在线 | 91精品在线视频观看 | 色婷婷在线播放 | 99久久久国产精品免费观看 | 国产精品免费观看在线 | 美女av电影 | 91视频麻豆视频 | 婷婷www| 精品专区一区二区 | 国产91亚洲 | 九九视频在线观看视频6 | 日本不卡一区二区 | 粉嫩av一区二区三区四区五区 | 精品字幕 | 黄色片网站大全 | 亚洲视频在线免费看 | 99在线免费视频观看 | 色爱区综合激月婷婷 | 国产一区二区三区免费在线 | 国产精品一区二区免费视频 | 免费国产一区二区 | 波多野结衣在线视频一区 | 欧美一级在线看 | av在观看 | 国产精品免费一区二区三区在线观看 | 91人人干| 亚洲精品播放 | 天天射天天操天天 | 精品在线不卡 | 日本黄色大片免费 | av大全在线看 | 操少妇视频 | 久久久久电影 | 夜色成人网 | 人人看97| 亚洲精品国产精品国自 | 奇米777777 | 99热精品国产 | 男女视频国产 | 六月激情丁香 | 日韩首页 | 久99久视频 | 8x成人在线| 在线视频成人 | 三三级黄色片之日韩 | 国产精品久久网 | 正在播放 久久 | 日韩理论| 国产免费久久av | 久草在线99 | 99久久超碰中文字幕伊人 | 久久夜色精品国产欧美一区麻豆 | 国产精品欧美日韩 | 国产精品国产自产拍高清av | 日韩精品五月天 | 在线观看网站av | 国产精品美女免费看 | 国产精品毛片网 | 婷婷亚洲综合五月天小说 | 久久国产精品免费一区 | 日韩中文字幕视频在线观看 | 天天综合狠狠精品 | 九九在线免费视频 | 色视频国产直接看 | 国产成人精品综合久久久 | 日韩高清精品一区二区 | 久久毛片网 | 三级av网| 国产伦理久久 | 中文字幕久久精品一区 | 夜夜高潮夜夜爽国产伦精品 | 8x成人在线 | 免费网站观看www在线观看 | 一区二区不卡高清 | 四虎影视www | www五月天com| 亚洲乱码国产乱码精品天美传媒 | 日韩视频一区二区在线 | 国产99久久久国产精品免费看 | 狠狠躁日日躁狂躁夜夜躁 | www免费网站在线观看 | 毛片精品免费在线观看 | 免费看av片网站 | 国产在线理论片 | 国产精品黄网站在线观看 | 涩涩在线| av综合av| a黄色一级 | 在线视频app | 韩国av在线播放 | 97精品超碰一区二区三区 | 久久久这里有精品 | 99电影 | 深爱激情综合 | 热久久这里只有精品 | 免费网站黄色 | 久久视频精品在线观看 | 欧美极品在线播放 | 亚洲人人精品 | 国产精品精品国产色婷婷 | 欧美久久久一区二区三区 | 成年人免费在线观看网站 | 日韩一区正在播放 | 国产精品一区二区久久 | 国产午夜精品在线 | 免费三级a | 日韩av电影免费在线观看 | 国产精品美女毛片真酒店 | 中文字幕美女免费在线 | 久久艹艹 | 国产精品久久久视频 | 在线国产99 | 亚洲区另类春色综合小说 | 日韩性xxx | 美女网站在线观看 | 99九九视频| 最近日本mv字幕免费观看 | 久草在线资源观看 | 国产乱对白刺激视频不卡 | 美女在线免费观看视频 | 国产成人精品日本亚洲999 | 贫乳av女优大全 | 欧美日韩首页 | 亚洲精品国偷自产在线99热 | 天天草综合| 丁香六月激情婷婷 | 午夜久久福利 | 最新国产在线观看 | 国产精彩视频一区 | 黄色的网站在线 | 中文字幕刺激在线 | 就操操久久 | 在线小视频你懂的 | 干干夜夜 | 精品国产欧美一区二区 | 91精品少妇偷拍99 | 欧美a级成人淫片免费看 | 国产精品久久久久久69 | 免费看搞黄视频网站 | 91九色视频观看 | 四虎国产精 | 中文字幕日韩免费视频 | 操操操夜夜操 | 国产区在线 | 丰满少妇一级 | 久久精品欧美 | 欧美日韩裸体免费视频 | 黄色小视频在线观看免费 | 97人人模人人爽人人喊网 | 香蕉视频在线播放 | 激情五月伊人 | 国内精品久久久久影院男同志 | 17videosex性欧美 | 亚洲成人精品在线观看 | 91麻豆精品国产91久久久久久久久 | 久久久久久久久影院 | 麻豆视频一区 | 国产免费视频一区二区裸体 | 免费看一级一片 | 成人av电影在线播放 | 国产精品久久一区二区无卡 | 日日草夜夜操 | 国产+日韩欧美 | 国产精品毛片一区二区在线看 | www.日本色| 日韩电影在线一区二区 | 天天爱天天 | 久久午夜色播影院免费高清 | 亚洲午夜久久久综合37日本 | 日韩av网站在线播放 | 97精品国产97久久久久久免费 | 九九精品在线观看 | 日韩免费精品 | 国产成人精品一区二区三区福利 | 欧美激情精品久久久久久变态 | 亚洲一级电影视频 | 国产专区在线播放 | 黄免费在线观看 | 精品一区二区三区电影 | 国产一区二区在线观看免费 | 天天插天天操天天干 | 17videosex性欧美| 亚洲欧洲国产精品 | 青青草华人在线视频 | 亚洲 成人 欧美 | 国产精品一区二区在线观看 | avsex| 五月天中文字幕 | 免费网站黄 | 麻豆成人在线观看 | 天天操天天色天天 | 久久视频在线看 | 久久这里只有精品视频首页 | 2019中文最近的2019中文在线 | 国产资源网 | 久久久精品视频成人 | 日韩午夜大片 | 午夜美女网站 | 久久99亚洲热视 | 91精品在线观看入口 | 黄色毛片视频免费观看中文 | 操操操操网 | 欧美激情精品久久久久久 | 国产精品成人一区二区 | 日本在线中文 | sm免费xx网站 | 激情五月婷婷综合 | 免费a v视频 | 色中射 | 91久色蝌蚪 | 亚洲综合色激情五月 | 免费福利在线播放 | 国产一区二区精品 | 激情综合五月 | 亚洲成成品网站 | 亚洲色视频 | 国产精品欧美久久久久天天影视 | 在线视频 国产 日韩 | 五月婷婷狠狠 | 美州a亚洲一视本频v色道 | 91在线免费视频观看 | 精品亚洲在线 | 亚洲 欧洲 国产 日本 综合 | 免费看三级 | 欧美91成人网| 夜夜夜草 | 最近日本mv字幕免费观看 | 国产91精品久久久久久 | 国产99久| 久久久久一区 | 日本在线观看视频一区 | 天天综合91 | 亚洲国产影院av久久久久 | 国产黄影院色大全免费 | 在线免费av播放 | 97超级碰碰| 欧美一级专区免费大片 | 婷婷久久五月天 | 久久视频国产精品免费视频在线 | 天堂av在线网站 | 日韩黄色免费电影 | 久草久视频 | 玖玖在线免费视频 | 在线观看中文av | 日韩成人黄色av | 亚洲成av人片在线观看香蕉 | 91色偷偷 | av高清影院 | 日本 在线 视频 中文 有码 | 成人免费大片黄在线播放 | av在线免费观看网站 | 成人羞羞视频在线观看免费 | 国产精品美女免费 | 久久视屏网 | 国产无遮挡又黄又爽馒头漫画 | 国产精品久久久久久久久久免费看 | 色鬼综合网 | 四虎成人精品 | 国产乱对白刺激视频在线观看女王 | 亚洲精品在线免费看 | 国产高清永久免费 | 天天看天天干天天操 | 亚洲综合五月天 | 亚洲精品免费在线播放 | 久久不卡免费视频 | 99视频在线精品国自产拍免费观看 | 国产伦精品一区二区三区免费 | 国产在线久久久 | 免费看一级 | 久久精品一区二区三区视频 | 久久五月精品 | 久久草网站 | 国产精品免费一区二区三区 | 国产人成看黄久久久久久久久 | 狠狠操操操 | 国产又粗又猛又爽又黄的视频先 | 久久久久综合视频 | 亚洲夜夜爽| 美女黄濒 | 中文字幕电影在线 | 国产精品美女久久久网av | 亚洲成人第一区 | 五月天激情视频在线观看 | 国产一区在线观看视频 | 精品视频久久 | 韩日精品在线 | 国产精品久久久久永久免费 | 久久久久久高潮国产精品视 | 精品一区二区三区香蕉蜜桃 | 久久久久伦理电影 | av三级在线免费观看 | 日韩精品无码一区二区三区 | 人人草在线视频 | 免费a级毛片在线看 | 91看片成人 | 日本精品视频免费观看 | 一区二区不卡高清 | 中日韩三级视频 | 成人免费观看电影 | 久久字幕精品一区 | 久久狠狠干 | 国产人成免费视频 | 精精国产xxxx视频在线播放 | 日本中文不卡 | 激情欧美一区二区三区免费看 | 亚洲国产精品99久久久久久久久 | 激情自拍av| 在线观看av小说 | 国产精品九九九九九九 | 国产成人免费网站 | 久草在线费播放视频 | 99精品国产99久久久久久福利 | 亚洲黄色成人 | 99精品视频在线免费观看 | 91精品视频一区 | 免费黄色在线网站 | 97免费在线观看视频 | 在线电影91| 亚洲va欧洲va国产va不卡 | 久久免费视频观看 | 久艹在线播放 | 精品亚洲免费 | 国产又粗又猛又色又黄网站 | 最近中文字幕 | 日日爱av | 久日精品 | 国产精品美女久久久久久久 | 国产亚洲精品久久久久久久久久久久 | 在线电影日韩 | 欧美激情视频三区 | 日本三级不卡 | 免费看片网站91 | 国产精品午夜在线 | 人人插人人玩 | 99免费在线视频观看 | 91中文字幕永久在线 | 三级av免费 | av高清在线 | 免费视频a | 久草9视频| 日韩精品一区二区免费视频 | 4438全国亚洲精品观看视频 | 久久成人国产 | 日韩欧美在线观看一区二区 | 久久伦理影院 | 激情伊人五月天久久综合 | 1024手机看片国产 | 毛片激情永久免费 | 欧美一级性生活片 | 最新中文字幕视频 | 日本狠狠色 | 91九色porn在线资源 | 国产精品福利午夜在线观看 | 亚洲一区尤物 | 日本中文在线 | 97超碰总站 | 中午字幕在线 | 久久一视频 | 成年人在线观看视频免费 | 久久夜色精品国产欧美乱极品 | 亚洲成aⅴ人在线观看 | 一二区精品 | 在线一二区 | www天天操 | 在线视频婷婷 | 久久久精品在线观看 | 99久久婷婷国产精品综合 | 午夜影院一级 | aaa亚洲精品一二三区 | 国产高清视频免费 | 国产+日韩欧美 | 97国产情侣爱久久免费观看 | 欧美成天堂网地址 | av黄色免费看 | 2019国产精品 | 国产1级视频 | 亚洲综合在线视频 | 在线看片中文字幕 | 91麻豆精品国产91久久久久久久久 | 久久都是精品 | 日韩a欧美| 精品免费视频123区 午夜久久成人 | 成人久久久精品国产乱码一区二区 | 亚洲一区二区三区精品在线观看 | 久久丁香 | 亚洲影视九九影院在线观看 | 在线免费国产视频 | 亚洲黄色一级视频 | 一级片色播影院 | 色亚洲网 | 精品国产1区2区3区 国产欧美精品在线观看 | 99爱精品视频 | 日韩高清在线一区二区三区 | 久久国产精品久久久久 | 日韩久久一区 | 99re国产| 国产精品婷婷午夜在线观看 | 综合天堂av久久久久久久 | 婷婷色社区 | 日韩免费福利 | 四虎在线视频 | 91精品久久久久久久99蜜桃 | 国产一区二区不卡在线 | 成人黄色免费观看 | 免费观看91视频 | 在线观看免费观看在线91 | 在线观看91精品国产网站 | 午夜精品福利一区二区三区蜜桃 | 黄色片视频在线观看 | 欧美日本高清视频 | 久久综合九色综合97_ 久久久 | 91污视频在线 | 国产理论一区二区三区 | 国产丝袜一区二区三区 | 日韩欧美69 | 一级片免费观看 | 黄色国产精品 | 免费高清在线视频一区· | 91日韩在线专区 | 麻豆免费精品视频 | 麻豆传媒视频观看 | 日本三级不卡视频 | 天天爽人人爽 | 粉嫩av一区二区三区四区五区 | 久久激情视频 久久 | 五月天最新网址 | 国产丝袜在线 | aaaaaa毛片| 欧美另类成人 | 91污在线| 五月婷综合网 | 亚洲黄色片 | 国产高清视频在线 | av中文字幕剧情 | 麻豆传媒视频在线 | 亚洲视频资源在线 | 婷婷在线精品视频 | av女优中文字幕在线观看 | 国产精品手机播放 | 亚洲精品美女免费 | 久久成人欧美 | av在线播放国产 | 小草av在线播放 | 中文字幕在线观看视频一区二区三区 | 国产99久久久精品视频 | 午夜av激情 | 国产97在线视频 | 成人午夜影视 | 国产资源在线免费观看 | 91丨九色丨国产丨porny精品 | 啪啪精品 | 中文字幕在线影视资源 | 久久黄色免费 | 久久久久激情视频 | 精品免费观看视频 | a在线视频v视频 | 久久国产系列 | 91精品国产福利在线观看 | 久久国产精品久久精品国产演员表 | 五月婷婷六月综合 | 一区二区三区日韩在线观看 | 欧美男女爱爱视频 | 二区三区中文字幕 | 在线播放一区二区三区 | 婷婷色九月| 超碰97成人 | 激情视频一区二区三区 | 中文字幕av在线播放 | 欧美一级爽 | www.色综合.com| 亚洲高清视频在线 | 亚洲综合欧美日韩狠狠色 | 亚洲婷婷在线视频 | 天堂av观看 | 日本69hd| 成年人免费在线观看网站 | 国产成人在线观看 | 91看片淫黄大片91 | 婷婷在线精品视频 | 国产中文字幕精品 | 国产视频二区三区 | 国产婷婷久久 | 欧美另类z0zx | 久久国产免费视频 | 亚洲黄色一级视频 | 中文字幕免费国产精品 | 免费在线观看视频a | 精品一区二区三区在线播放 | 夜又临在线观看 | 国产一区久久 | 99免费在线视频观看 | 欧美成人亚洲成人 | 色综合中文字幕 | 视频一区二区国产 | 久久久精品午夜 | 亚洲午夜精品久久久久久久久久久久 | 一二区av| 国产又黄又猛又粗 | 二区三区在线 | 少妇av片 | 国产亚洲精品久久网站 | 日韩免费视频线观看 | 欧美日韩中文在线观看 | 国产高清av在线播放 | av大全免费在线观看 | 国产精品乱码一区二区视频 | 日韩久久在线 | 最近中文字幕免费视频 | 中文字幕在线观看免费观看 | 韩国av永久免费 | 亚洲视频免费在线看 | bayu135国产精品视频 | 成人影片在线播放 | 久草在线视频网站 | 97成人在线观看 | 久久这里只有精品23 | 婷婷丁香国产 | 欧美成人xxxx | 国产成年人av | 成年人电影免费在线观看 | 免费国产ww | 日韩v在线| 国产一区二区在线免费视频 | 亚洲综合丁香 | 亚洲小视频在线观看 | 久久九九精品 | 超碰午夜 | 国产做a爱一级久久 | 开心色停停| 欧美成天堂网地址 | 日本高清久久久 | 国产精品女同一区二区三区久久夜 | 国产在线不卡精品 | 久久精品国产v日韩v亚洲 | 天天要夜夜操 | 亚洲国产影院av久久久久 | 亚洲激情久久 | 欧美视频日韩视频 | 91大神免费在线观看 | 丁香五月网久久综合 | 日韩精品一区二区免费 | 女人18片毛片90分钟 | 91av视频免费观看 | 中文字幕在线观看资源 | 精品一区二区三区香蕉蜜桃 | 一区二区三区手机在线观看 | 久久伊人热 | 久久刺激视频 | 国产精品九九久久99视频 | 91cn国产在线| 久久视频这里有久久精品视频11 | 黄色软件大全网站 | 狠狠色丁香久久婷婷综 | 天天爱天天操 | 日日夜夜网站 | 久久手机免费观看 | 国产精品久久久久久久久久久久久久 | 夜夜躁日日躁狠狠久久av | 日本久久电影 | 国语精品久久 | 国产一级二级在线观看 | 人人澡澡人人 | 精品久久一级片 | 片网址| 久久免费视频网站 | 国产精品成人久久久 | 国产精品久久久久久久久毛片 | 国产精品岛国久久久久久久久红粉 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 久久伊人色综合 | 天天操天天能 | 国产一区高清在线观看 | 亚洲天堂网在线视频 | 91福利在线导航 | 激情丁香综合五月 | 国产一级二级在线观看 | 91久久久久久久一区二区 | 成人亚洲网 | 在线免费观看黄网站 | 深爱婷婷激情 | 人人插人人插 | 91av视频导航 | 久草免费福利在线观看 | 国产精品露脸在线 | 在线播放国产一区二区三区 | 日韩中文幕 | 国产精品一区二区三区久久 | 久久免费视频在线 | 久久精品欧美一区二区三区麻豆 | 国产精品电影一区 | 欧美国产日韩在线视频 | 热久久最新地址 | 久久在线免费观看视频 | 国产视频一二区 | 中文在线a∨在线 | 国产亚洲精品久久网站 | 国产小视频你懂的 | 成人午夜影视 | 一区电影| 少妇bbbb揉bbbb日本 | 国产视频一区在线免费观看 | av激情五月 | 超碰在线99 | 天天插视频| 婷婷色网| 亚洲一区免费在线 | 欧美日韩免费看 | 国产成人精品一区二 | 久久久久电影网站 | 色综合小说| www.夜色.com | 成人香蕉视频 | 午夜久久久久久久 | 亚洲精品国产视频 | 成人av在线网 | 国产精品1区 | 手机看片国产日韩 | 日韩精品视频免费专区在线播放 | 精品主播网红福利资源观看 | 亚洲精品国精品久久99热一 | 黄色软件在线观看视频 | 2023av在线 | www.五月天婷婷.com | 超碰资源在线 | 国产精品免费观看久久 | 欧美日韩国产精品一区二区三区 | 青春草国产视频 | 深爱激情五月婷婷 | 久久久久久久久黄色 | 国产精品少妇 | 久草网视频在线观看 | 日韩欧美在线高清 | 一区二区三高清 | 最近中文字幕完整视频高清1 | 亚洲激情视频 | 日韩欧美不卡 | 国产成人久久av免费高清密臂 | 在线观看亚洲 | 久久国产成人午夜av影院宅 | 一区二区三区在线观看免费视频 | 2019中文字幕网站 | 国产一级片播放 | 97国产电影 | 亚洲理论在线观看电影 | av中文字幕在线观看网站 | 亚洲精品视频免费观看 | 在线看片91 | 色婷婷在线观看视频 | 91一区二区三区在线观看 | 精品美女国产在线 | 在线免费黄 | 日韩免费在线视频 | 婷婷福利影院 | 免费精品久久久 | 人人爽人人爽人人片av免 | 欧美日韩免费观看一区=区三区 | 日本精品一区二区 | 日本久久久久久科技有限公司 | 色综合天天狠天天透天天伊人 | 亚洲精品观看 | 日本丶国产丶欧美色综合 | 国产精久久久 | 亚洲成人av一区二区 | 国产最新91 | 国产综合精品一区二区三区 | 久久久在线观看 | 国产99视频在线观看 | 97超碰中文字幕 | 久久成人18免费网站 | 亚洲女人av | 在线视频 国产 日韩 | 黄色aaaaa| 国产99免费| 久久精品久久精品久久精品 | 射九九| 久久久91精品国产一区二区精品 | 国产又粗又猛又黄又爽 | 国产精品第二十页 | 欧美激情在线网站 | 午夜成人免费电影 | 午夜三级福利 | 人人爱人人舔 | 天天操天天是 | 成年人天堂com | 亚洲乱码国产乱码精品天美传媒 | 在线观看色网站 | 亚洲精品视频在线播放 | 亚洲综合黄色 | 国产精品18久久久 | 国产精品久久久久四虎 | 99精品视频在线播放免费 | 97电影在线看视频 | 久久久国产精品亚洲一区 | 久草在线免费资源 | 在线播放日韩av | 天天天综合网 | 开心婷婷色 | 丁香五婷 | 日韩a在线播放 | 99性视频 | 成人免费观看视频网站 | 91免费视频国产 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 激情五月婷婷综合网 | 日韩精品高清不卡 | a国产精品 | 免费午夜视频在线观看 | 久久国产经典 | 国产成人av一区二区三区在线观看 | 在线观看91 | 国产破处在线视频 | 久久桃花网 | 99高清视频有精品视频 | av黄网站| 毛片二区 |