欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

student、sc、course 三張表講透 SQL:建表、查詢與優(yōu)化

student、sc、course 三張表講透 SQL:建表、查詢與優(yōu)化 簡介這是一份配合《數(shù)據(jù)庫系統(tǒng)概論》課程的SQL建表與數(shù)據(jù)插入練習文檔面向正在學(xué)習數(shù)據(jù)庫原理與SQL基礎(chǔ)操作的學(xué)生。PDF內(nèi)完整給出了student、course、sc三張經(jīng)典表的建表語句包含主鍵、唯一約束、默認值及外鍵關(guān)聯(lián)并附帶覆蓋學(xué)生選課場景的示例插入數(shù)據(jù)可幫助讀者理解關(guān)系模型、參照完整性及SC復(fù)合主鍵的設(shè)計思路。整個壓縮包僅含1個PDF文件大小48KB輕量易用適合課前預(yù)習、實驗參考或考前快速復(fù)習。文檔將創(chuàng)建數(shù)據(jù)庫、建表、插入數(shù)據(jù)與更新預(yù)修課程學(xué)分等步驟按順序拆解并在course表插入中特別說明了外鍵約束下不能一次性插入的原因便于讀者避開常見操作誤區(qū)。目前已有1907人學(xué)習下載對初學(xué)數(shù)據(jù)庫系統(tǒng)概論、需要動手搭建練習環(huán)境的學(xué)習者具有直接參考價值。1. 數(shù)據(jù)庫系統(tǒng)概論里的 student、sc、course一套練習表為什么能講透 SQL數(shù)據(jù)庫系統(tǒng)概論課程里流傳最廣的一套SQL練習就是用 student、sc、course 這三張表反復(fù)折騰查詢很多學(xué)校的實驗課、期末復(fù)習題、甚至面試前突擊都在用它。這套表的數(shù)據(jù)量不大結(jié)構(gòu)卻把主鍵、外鍵、多對多關(guān)系、聚合、連接、子查詢這些核心概念全串起來了比去 LeetCode 刷零散題目要完整得多。網(wǎng)上流傳的配套 PDF 往往只給題目和答案缺了建表腳本和邊界情況的說明新手拿到手第一反應(yīng)是“表長什么樣”都不知道。我按最常見的教材結(jié)構(gòu)把整套環(huán)境重建一遍從建庫到驗證一條龍講清楚學(xué)生能照著跑準備 SQL 面試的能當復(fù)習提綱想自己出練習題的也能直接參考這套設(shè)計。2. 先建庫再建表student、sc、course 的結(jié)構(gòu)設(shè)計與建表 SQL2.1 三張表的字段設(shè)計外鍵怎么連、主鍵怎么定先看這套表的數(shù)據(jù)模型。student 表存學(xué)生基本信息course 表存課程信息sc 表是學(xué)生選課成績表用來連接前兩者。之所以需要 sc 這張中間表是因為一個學(xué)生可以選多門課一門課也可以被多個學(xué)生選學(xué)生和課程之間是多對多關(guān)系直接在一個表里加字段會造成大量數(shù)據(jù)冗余和更新異常。sc 表把學(xué)號和課程號各存一條記錄再加上成績字段就把多對多關(guān)系拆成了兩個一對多關(guān)系。student 表的常見字段是學(xué)號、姓名、性別、年齡、系別主鍵用學(xué)號 sno。course 表的主鍵是課程號 cno同時會有一個 cpno 字段表示先修課程號這個字段指向課程表自身的主鍵形成自引用外鍵用來做“查先修課”這類的遞歸查詢練習。sc 表的主鍵是 (sno, cno) 聯(lián)合主鍵sno 和 cno 分別引用 student 和 course 的主鍵grade 字段存百分制成績。這個設(shè)計的巧妙之處在于兩個字段的聯(lián)合主鍵能防止同一學(xué)生同一課程出現(xiàn)兩條重復(fù)選課記錄這是數(shù)據(jù)完整性約束里的典型考點。練習時還會用到 cpno 為 NULL 的“沒有先修課”的記錄這就把 SQL 里的 NULL 處理難題也帶出來了。字段類型也要留意學(xué)號和課程號雖然是數(shù)字但常見教材把它們定義成 CHAR 而不是 INT目的是讓前導(dǎo)零能保留也方便練習字符串比較。2.2 標準建表腳本MySQL 與 SQL Server 的語法差異很多初學(xué)者從 PDF 里抄答案時發(fā)現(xiàn)在自己電腦上建表總是報錯原因往往是教材示例用的 SQL Server 語法而本機裝的是 MySQL。兩種數(shù)據(jù)庫的建表語法大體相似但在字符集、自增列、外鍵約束這些細節(jié)上有差異。下面給出兩套腳本先看 MySQL 版本這也是目前自學(xué)環(huán)境最常見的配置。CREATE DATABASE IF NOT EXISTS school DEFAULT CHARSET utf8mb4; USE school; CREATE TABLE student ( sno CHAR(9) PRIMARY KEY, sname VARCHAR(20) NOT NULL, ssex CHAR(2) DEFAULT 男, sage SMALLINT, sdept VARCHAR(20) ) ENGINEInnoDB; CREATE TABLE course ( cno CHAR(4) PRIMARY KEY, cname VARCHAR(40) NOT NULL, cpno CHAR(4), ccredit SMALLINT ) ENGINEInnoDB; CREATE TABLE sc ( sno CHAR(9) NOT NULL, cno CHAR(4) NOT NULL, grade DECIMAL(5,1), PRIMARY KEY (sno, cno), FOREIGN KEY (sno) REFERENCES student(sno), FOREIGN KEY (cno) REFERENCES course(cno) ) ENGINEInnoDB;這段腳本里幾個參數(shù)要單獨說明。DEFAULT CHARSET utf8mb4 是為了讓中文姓名和課程名正常存儲如果使用默認的 latin1 字符集插入中文時會變成亂碼或者直接報錯utf8mb4 比 utf8 多支持 emoji 等四字節(jié)字符對練習環(huán)境來說更保險。表引擎指定 InnoDB是因為外鍵約束只有 InnoDB 支持MyISAM 引擎雖然查詢快但建外鍵時 MySQL 會靜默忽略不報錯也不生效這是最隱蔽的一個翻車點。sage 用 SMALLINT 而不是 INT是教材里的經(jīng)典設(shè)計用來讓大家理解“夠用就好”的字段長度設(shè)計思路。grade 用 DECIMAL(5,1)意思是總長度 5 位、小數(shù) 1 位最高能存 999.9百分制成績足夠用而且能保留一位小數(shù)方便練習 AVG 聚合時看到非整數(shù)值。如果是 SQL Server 環(huán)境比如學(xué)校機房或者公司里的老項目建表腳本要微調(diào)。SQL Server 不區(qū)分 utf8mb4默認就是在排序規(guī)則屬性里處理中文自增列需要 IDENTITY 關(guān)鍵字CHAR 字段在 SQL Server 里默認非 Unicode插入中文要改成 NCHAR 或者設(shè)置合適的排序規(guī)則。CREATE DATABASE school; GO USE school; GO CREATE TABLE student ( sno CHAR(9) PRIMARY KEY, sname NVARCHAR(20) NOT NULL, ssex NCHAR(1) DEFAULT N男, sage SMALLINT, sdept NVARCHAR(20) ); GO CREATE TABLE course ( cno CHAR(4) PRIMARY KEY, cname NVARCHAR(40) NOT NULL, cpno CHAR(4), ccredit SMALLINT ); GO CREATE TABLE sc ( sno CHAR(9) NOT NULL, cno CHAR(4) NOT NULL, grade DECIMAL(5,1), PRIMARY KEY (sno, cno), FOREIGN KEY (sno) REFERENCES student(sno), FOREIGN KEY (cno) REFERENCES course(cno) ); GO這里把姓名、系別、課程名都換成了 NVARCHAR原因很實在SQL Server 的 VARCHAR 只能存英文字符N 前綴類型才能存中文給 ssex 字段加 DEFAULT N男 是因為 SQL Server 默認值里如果直接寫中文字符常量在有些中文排序規(guī)則下會報“對象名無效”一類的怪異錯誤實測最穩(wěn)的方式就是加 N 前綴。用了 GO 分隔批次是因為 SQL Server 的 CREATE DATABASE 之后必須 USE 切換上下文如果兩個語句在同一個批次里執(zhí)行后面的 CREATE TABLE 可能仍然被解析到 master 庫。這塊屬于 SQL Server 特有的玄學(xué)問題按上面分批次寫就不會出錯。2.3 插入練習數(shù)據(jù)覆蓋基礎(chǔ)查詢需要的典型取值建完表之后必須插入數(shù)據(jù)才能練習。數(shù)據(jù)量不用大但要覆蓋邊界情況NULL 成績、先修課缺失、同系別多人、男女都有、成績重復(fù)這些都會在后續(xù)查詢練習里反復(fù)用到。下面這套插入數(shù)據(jù)是經(jīng)典教材里的標準樣本數(shù)值我按常用版本保持基本一致。INSERT INTO student (sno, sname, ssex, sage, sdept) VALUES (201215121, 李勇, 男, 20, CS), (201215122, 劉晨, 女, 19, CS), (201215123, 王敏, 女, 18, MA), (201215125, 張立, 男, 19, IS); INSERT INTO course (cno, cname, cpno, ccredit) VALUES (1, 數(shù)據(jù)庫, NULL, 4), (2, 數(shù)學(xué), NULL, 2), (3, 信息系統(tǒng), 1, 4), (4, 操作系統(tǒng), 6, 3), (5, 數(shù)據(jù)結(jié)構(gòu), 7, 4), (6, 數(shù)據(jù)處理, NULL, 2), (7, PASCAL語言, 6, 4); INSERT INTO sc (sno, cno, grade) VALUES (201215121, 1, 92), (201215121, 2, 85), (201215121, 3, 88), (201215122, 2, 90), (201215122, 3, 80), (201215123, 2, 85), (201215123, 1, NULL);這段插入腳本里有兩處需要細看。course 表里課程 3 的 cpno 是課程 1課程 5 的 cpno 是課程 7形成了一個有向的“先修課鏈條”練習自連接時可以查“間接先修課”這類題目。sc 表里最后一條記錄 grade 為 NULL表示王敏選了數(shù)據(jù)庫課但還沒出成績這就是聚合函數(shù)和 WHERE 條件練習里最容易出錯的地方COUNT(grade) 會忽略 NULL而 COUNT(*) 不會。INSERT 語句用多值逗號分隔語法比逐條 INSERT 效率高很多而且一旦中間某行出錯整個語句會回滾不會出現(xiàn)“插了一半”的臟數(shù)據(jù)。數(shù)據(jù)插入后建議先跑兩條驗證語句確認環(huán)境可用。SELECT COUNT() FROM student; 應(yīng)該返回 4SELECT COUNT() FROM sc; 應(yīng)該返回 7。如果數(shù)字對不上優(yōu)先檢查是否漏跑了某個批次或者外鍵約束攔截了部分插入。3. 練習題的梯度設(shè)計從單表查詢到窗口函數(shù)3.1 第一梯度單表查詢、排序與去重表建好、數(shù)據(jù)插完就可以開始真正的練習。第一梯度只涉及單張表目標是練 SELECT 的基礎(chǔ)功投影、選擇、排序、去重。這類題目在面試里看著簡單但很多人寫出來的 SQL 在邊界情況下是錯誤的尤其是去重和 NULL 處理。先看一個最基礎(chǔ)的查詢查所有學(xué)生的學(xué)號和姓名。這道題沒有難度但能驗證表結(jié)構(gòu)是否正常。SELECT sno, sname FROM student;接著看一個稍微有考點的題目查詢所有學(xué)生的系別。如果直接寫 SELECT sdept FROM student結(jié)果里會出現(xiàn)重復(fù)的 CS。要得到唯一的系別列表得去重。SELECT DISTINCT sdept FROM student;DISTINCT 在這里的語義是“對查詢結(jié)果整體去重”也就是說只有兩行所有選中列的值都相同才合并。它作用于整個 SELECT 的投影列表而不是只作用于緊挨著的那個字段。很多人以為 SELECT DISTINCT sname, sdept 的意思是“只對 sname 去重保留 sdept”實際上它是把 (sname, sdept) 作為一個整體判斷重復(fù)。這是一個高頻面試題也解釋了為什么同樣一句 DISTINCT 在不同組合列下結(jié)果差異巨大。第二梯度之前還要過一個排序練習查全體學(xué)生名單按年齡降序排列。SELECT sno, sname, sage FROM student ORDER BY sage DESC;ORDER BY 的執(zhí)行順序在 SQL 邏輯中排在 SELECT 之后所以它可以使用 SELECT 列表里的別名比如 ORDER BY 年齡。這個順序問題很多人混淆實際上 SQL 語句的書寫順序是 SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY但邏輯執(zhí)行順序是 FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY。搞清楚這個順序后面理解“為什么 WHERE 里不能使用別名”才不會靠死記硬背。3.2 第二梯度多表連接、聚合與分組第二梯度是這套練習表的重頭戲也是 SQL 能力分水嶺。連接查詢要把兩張或多張表按條件拼接聚合查詢則把多行匯總成一行。兩者經(jīng)常組合出現(xiàn)。最常見的連接練習查詢每個學(xué)生的選課成績需要 student 表和 sc 表通過 sno 連接。SELECT student.sno, sname, cno, grade FROM student, sc WHERE student.sno sc.sno;這是隱式連接寫法教材里用得最多但實際項目里我更推薦顯式 JOIN 寫法結(jié)構(gòu)更清晰也更容易排查漏連接條件的問題。SELECT s.sno, s.sname, sc.cno, sc.grade FROM student s JOIN sc ON s.sno sc.sno;這兩條 SQL 邏輯等價但顯式寫法把連接條件從 WHERE 中分離出來WHERE 里只留過濾條件。這種拆分的實際意義是當查詢超過三張表時隱式連接特別容易漏寫一個連接條件導(dǎo)致產(chǎn)生笛卡爾積結(jié)果行數(shù)爆炸到幾十萬條這就是俗稱的“翻車現(xiàn)場”排查時還不好定位。顯式 JOIN 配合縮進每個連接關(guān)系一眼就能看全。連接之后接聚合查詢每門課的選課人數(shù)和平均成績。SELECT cno, COUNT(*) AS cnt, AVG(grade) AS avg_grade FROM sc GROUP BY cno;這段 SQL 的執(zhí)行順序是先 FROM sc 拿到全表GROUP BY cno 把相同課程號的記錄分到一組然后 SELECT 對每組執(zhí)行 COUNT 和 AVG。這里有一個關(guān)鍵細節(jié)AVG(grade) 會自動忽略 NULL所以王敏那條沒有成績的記錄不會拉低平均值。如果想把 NULL 當作 0 參與平均就得先寫 CASE WHEN grade IS NULL THEN 0 ELSE grade END 把 NULL 轉(zhuǎn)換掉但這在實際業(yè)務(wù)中是否合理要看場景一般成績表里 NULL 代表“缺考/未出分”忽略比當 0 處理更符合業(yè)務(wù)語義。再進階一步查詢選了 2 門及以上課程的學(xué)生學(xué)號。這要用 HAVING 對分組結(jié)果做過濾。SELECT sno FROM sc GROUP BY sno HAVING COUNT(*) 2;HAVING 和 WHERE 的區(qū)別必須在這里說透WHERE 在分組之前過濾行HAVING 在分組之后過濾組。同一個條件寫在 WHERE 和寫在 HAVING 里語義完全不同。比如查出平均成績大于 85 的課程AVG(grade) 85 這個條件只能放在 HAVING 里因為它是“組”的特征不是“行”的特征。很多初學(xué)者把聚合條件誤寫在 WHERE 里報錯就是因為沒理解這個執(zhí)行順序。3.3 第三梯度子查詢、EXISTS 與窗口函數(shù)第三梯度是進階內(nèi)容也是 PDF 練習里區(qū)分“會寫”和“寫得優(yōu)雅”的部分。子查詢分相關(guān)子查詢和非相關(guān)子查詢兩類。非相關(guān)子查詢的結(jié)果不依賴外層查詢先執(zhí)行一次即可相關(guān)子查詢每處理一行都要執(zhí)行一次子查詢性能差異很大。經(jīng)典題目查詢選修了課程 1 且成績高于該課程平均分的學(xué)生學(xué)號。SELECT sno FROM sc WHERE cno 1 AND grade ( SELECT AVG(grade) FROM sc WHERE cno 1 );這個子查詢是典型的非相關(guān)子查詢內(nèi)層執(zhí)行一次得到課程 1 的平均分外層再逐行比較。注意如果 AVG 結(jié)果帶多位小數(shù)和外層 grade 比較時不會因類型問題出錯因為 MySQL 會按 DECIMAL 精度自動比較。這道題練習的價值在于它要求先理解聚合結(jié)果是標量值然后才能把它當作 WHERE 的右值。再來看 EXISTS 子查詢這也是 SQL 面試題的常駐嘉賓。查出所有選了課程 2 的學(xué)生姓名。SELECT sname FROM student s WHERE EXISTS ( SELECT 1 FROM sc WHERE sc.sno s.sno AND sc.cno 2 );EXISTS 子查詢只關(guān)心“有沒有返回行”不關(guān)心返回什么列所以子查詢里寫 SELECT 1 是業(yè)界慣例比 SELECT * 性能略優(yōu)且語義清晰。這個查詢是相關(guān)子查詢對 student 表每一行都要執(zhí)行一次子查詢但數(shù)據(jù)庫優(yōu)化器通常會把它改寫成 JOIN 或 semi-join 來提升性能。練習時可以把 EXISTS、IN、JOIN 三種寫法都試一遍觀察執(zhí)行計劃差異這是理解優(yōu)化器行為的很好素材。窗口函數(shù)是近幾年 SQL 面試的高頻考點這套表同樣能練。比如查每門課成績排名前 2 的學(xué)生。SELECT cno, sno, grade FROM ( SELECT cno, sno, grade, ROW_NUMBER() OVER (PARTITION BY cno ORDER BY grade DESC) AS rk FROM sc WHERE grade IS NOT NULL ) t WHERE rk 2 ORDER BY cno;窗口函數(shù)的邏輯是OVER 子句定義窗口范圍PARTITION BY 劃分組ORDER BY 組內(nèi)排序ROW_NUMBER() 在窗口內(nèi)生成序號。和 GROUP BY 不同的是窗口函數(shù)不會把多行合并成一行每行仍然保留自己的身份。這個特性讓“分組 top N”這類查詢變得非常簡潔。注意內(nèi)層先 WHERE grade IS NOT NULL 過濾掉 NULL 成績否則排序時空值會默認排最前面結(jié)果就錯了。3.4 練習答案的驗證方式用 EXPLAIN 看執(zhí)行計劃光寫出能跑出結(jié)果的 SQL 不算完還得知道它是怎么跑的。數(shù)據(jù)庫提供了 EXPLAIN 命令來查看執(zhí)行計劃這是從“會寫 SQL”到“能調(diào) SQL”的必經(jīng)一步。以 MySQL 為例EXPLAIN SELECT s.sno, s.sname, sc.grade FROM student s JOIN sc ON s.sno sc.sno WHERE sc.cno 1;執(zhí)行計劃里最需要關(guān)注的是 type 列和 rows 列。type 顯示訪問表的方式從好到差依次是 system、const、eq_ref、ref、range、index、ALL。如果看到 ALL說明這條 SQL 正在做全表掃描。rows 列是預(yù)估掃描行數(shù)兩張表 join 的最終掃描行數(shù)異常大時要檢查外鍵列上有沒有索引。sc 表的 sno 和 cno 列如果沒建索引JOIN 就會退化成嵌套循環(huán)全表掃數(shù)據(jù)量小的時候感覺不到到了生產(chǎn)環(huán)境幾百萬行就徹底卡死了。做練習時每寫完一道題都順手把執(zhí)行計劃拉出來看一眼。等把 system→const→ref→range→ALL 這幾檔都親眼見過一遍才算真正對 SQL 優(yōu)化有了體感。到這一步student、sc、course 這套練習表的價值才算被完全榨干——它不僅教你寫 SQL還教你診斷 SQL。4. 做這套練習常見的 5 個坑從建表失敗到結(jié)果對不上4.1 主鍵重復(fù)與 NULL插入數(shù)據(jù)時的第一道坎現(xiàn)象執(zhí)行 INSERT 語句報錯提示 duplicate entry 或者不能為 NULL。原因聯(lián)合主鍵的任意重復(fù)都會觸發(fā)沖突比如向 sc 表重復(fù)插入 (201215121, 1) 這條選課記錄。另外student 表的 sno 是主鍵插入 NULL 也會被拒絕但 sc 表的 sno 和 cno 是外鍵同時又是聯(lián)合主鍵的一部分如果這兩列有一個為 NULLInnoDB 對主鍵列有隱式 NOT NULL 約束同樣報錯。解決插入前先用 SELECT 確認數(shù)據(jù)是否存在。習慣性在插入腳本里加 INSERT IGNORE 或者 ON DUPLICATE KEY UPDATE 確實能跳過錯誤但練習場景不建議這么做因為這會掩蓋數(shù)據(jù)本身的重復(fù)問題。更推薦的方法是直接面對報錯通過 SELECT sno, cno, COUNT() FROM sc GROUP BY sno, cno HAVING COUNT() 1 查重復(fù)數(shù)據(jù)再決定保留哪一條。4.2 字符集與排序規(guī)則中文亂碼的根源現(xiàn)象插入中文后查詢顯示亂碼或者 CREATE TABLE 直接報錯字符集不識別。原因MySQL 默認字符集可能是 latin1中文無法存儲。SQL Server 則可能是排序規(guī)則不匹配導(dǎo)致數(shù)據(jù)庫兼容級別或排序規(guī)則沖突。解決MySQL 建庫時顯式指定 DEFAULT CHARSET utf8mb4并且連接字符串里也要加上 characterEncodingutf8 或 utf8mb4。一個容易被忽略的坑是即使數(shù)據(jù)庫和表的字符集都對了如果客戶端連接的字符集不對插入時仍會出現(xiàn)亂碼。先執(zhí)行 SHOW VARIABLES LIKE character_set%; 看當前會話的字符集再把連接參數(shù)統(tǒng)一。SQL Server 那邊建庫時把排序規(guī)則指定為 Chinese_PRC_CI_AS 基本可以一勞永逸。4.3 外鍵約束與刪除順序先刪 sc 還是先刪 student現(xiàn)象執(zhí)行 DELETE FROM student WHERE sno201215121; 報錯提示 foreign key constraint fails。原因sc 表里有引用這個學(xué)號的記錄而 sc 表的外鍵約束默認行為是 NO ACTION即存在子記錄時不允許刪除父記錄。解決先刪子表再刪父表。正確順序是 DELETE FROM sc WHERE sno201215121; 然后 DELETE FROM student WHERE sno201215121;。這個順序問題的價值不僅在于完成刪除操作它本身就是關(guān)系模型里“引用完整性”的絕佳教學(xué)案例。實際業(yè)務(wù)中還有一種做法是給外鍵加上 ON DELETE CASCADE讓數(shù)據(jù)庫自動刪子記錄但這在生產(chǎn)環(huán)境非常危險一不小心就級聯(lián)刪掉大量業(yè)務(wù)數(shù)據(jù)我一般建議顯式控制刪除順序而不是依賴級聯(lián)。4.4 連接條件漏寫笛卡爾積的翻車現(xiàn)場現(xiàn)象多表連接查詢返回的結(jié)果行數(shù)異常多比如 student 4 行和 sc 7 行連接后返回 28 行。原因連接條件沒寫或者寫錯數(shù)據(jù)庫把兩表做了笛卡爾積每行和另一表的每行配對。解決連接查詢時先確認結(jié)果行數(shù)是否等于符合業(yè)務(wù)邏輯的行數(shù)。經(jīng)驗判斷標準是如果多表連接沒有 WHERE 或 JOIN ON 條件返回行數(shù)是各表行數(shù)乘積必然有問題。連接條件漏寫時數(shù)據(jù)庫不會報錯因為笛卡爾積在語法上是合法的這是最讓人頭疼的地方。實踐中寫多表查詢時先分別跑一遍 SELECT COUNT(*) FROM 各表估算出預(yù)期結(jié)果行數(shù)范圍再執(zhí)行連接查詢。另外養(yǎng)成每張表用別名、JOIN 條件顯式寫在 ON 子句里的習慣能顯著降低漏寫概率。4.5 聚合與非聚合混用GROUP BY 的經(jīng)典報錯現(xiàn)象執(zhí)行 SELECT sno, cno, AVG(grade) FROM sc GROUP BY sno; 報錯提示 cno 不在 GROUP BY 子句中。原因SQL 標準要求 SELECT 列表中出現(xiàn)的非聚合列必須全部出現(xiàn)在 GROUP BY 中。這是因為分組后每組只有一行非聚合列如果不在分組鍵里數(shù)據(jù)庫不知道該取組內(nèi)哪行的值。MySQL 的 ONLY_FULL_GROUP_BY 模式默認開啟所以直接報錯如果關(guān)掉這個模式雖然能執(zhí)行但返回的 cno 是組內(nèi)隨機一行結(jié)果不可預(yù)測。解決搞清楚查詢意圖。如果確實想查每個學(xué)生的學(xué)號和他每門課的成績就不該用 GROUP BY如果只想查每個學(xué)生平均分SELECT 里就不該出現(xiàn) cno。這個報錯其實是數(shù)據(jù)庫在保護你比暗中返回隨機值好得多。練習時遇到這種錯誤先停下來理清“我要的是明細還是匯總”再動手改 SQL是最快的路徑。5. 把練習成果接到真項目驗證方法、索引設(shè)計與一條實用技巧5.1 用索引設(shè)計與執(zhí)行計劃對比來驗證練習效果練習做完后建議做一個加索引前后的對比實驗。以 sc 表為例在不建任何輔助索引的情況下執(zhí)行按 cno 過濾的查詢EXPLAIN 結(jié)果會顯示 typeALL 全表掃描。然后手動加一個索引CREATE INDEX idx_sc_cno ON sc(cno);再執(zhí)行同樣的查詢EXPLAIN 里 type 會變成 refrows 預(yù)估數(shù)明顯下降。這個對比就是把前面練習里學(xué)到的東西真正用到性能優(yōu)化上的關(guān)鍵一步。實際業(yè)務(wù)中聯(lián)合索引的設(shè)計比單列索引更值得關(guān)注。sc 表最常見的查詢模式是按 (sno, cno) 查成績或者按 cno 查選課名單。如果業(yè)務(wù)偏向前者聯(lián)合主鍵已經(jīng)覆蓋如果后面要頻繁按 cno 查單建 idx_sc_cno 就能避免每次回表。5.2 把三張表遷移到真實業(yè)務(wù)場景邊界在哪里student、sc、course 畢竟是教學(xué)模型遷移到真實項目時有三個明顯的邊界要注意。一是數(shù)據(jù)量生產(chǎn)環(huán)境單表百萬行起步這套練習表沒有分區(qū)、沒有數(shù)據(jù)生命周期管理直接照搬會有性能問題。二是缺失審計字段真實業(yè)務(wù)表幾乎都要有 create_time、update_time、操作人這幾個字段教學(xué)表里完全沒有上線前要補。三是沒有軟刪除和狀態(tài)字段真實業(yè)務(wù)不會物理刪除記錄而是用 status 字段標記有效性練習表的 DELETE 操作要改成 UPDATE status。一個比較實用的落地方式是把這三張表當作一個“最小可運行的數(shù)據(jù)模型”在公司內(nèi)部做技術(shù)分享或者新人培訓(xùn)時用來演示慢 SQL 優(yōu)化和連接查詢原理。數(shù)據(jù)量小、字段簡單、問題復(fù)現(xiàn)快比拿生產(chǎn)庫演練安全得多。我有一個習慣每次講 SQL 優(yōu)化之前先在本地用這套表造 10 萬行數(shù)據(jù)然后故意寫幾條不帶 WHERE 的連接查詢讓新人親眼看到全表掃描導(dǎo)致查詢時間從毫秒級變成秒級再讓他們自己用 EXPLAIN 定位問題。這種直觀對比比講半小時理論都有用。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情五月激情综合网| 日本久久婷| 青青艹b| 日日干天天| 久久久性爱视频| 国产精品久久久久久久久久| 夜色综合网| 日本的α片xxxwww| 大香蕉啪啪| 婷婷丁香18| 欧美综合五月丁香六月婷| 日日天天天| 人人操人人妻| 婷婷色五月大香蕉在线| 麻豆AV一区二区三区| 久久五月综合| 99色一| 欧美色图天堂网色| 骚五月婷婷| 99视频在线观看地址| 激情婷婷五月基地| 五月天成人手机在线视频| 91久久1118| 婷婷丁香综合在线| 日韩有码一区| 91成人看| 国产a视频| 久久97| 伊人玖玖精品| 国产操碰| 99热9| 婷婷性色| 五月开心网| 欧美五月丁香在线观看| 丁香五月综合在线播放 | 亲子乱AV一区二区三区下载| 欧美色色色色色色| 色婷婷精品视频| 热婷婷av| 综合性爱网| 丁香色影院| 色色婷婷综合| 丁香婷婷久| 人人摸人人操人人爱| 97人人干| 极品少妇高潮啪啪AV无码| 日韩中文欧美| 国外亚洲成AV人片在线观看| 99原创自拍视频在线观看| 丁香五月偷拍| 激情内射人妻1区2区3区| 超碰成人免费| 搡BBBB搡BBB搡18 | 九九综合88| 久久99人人| 在线看的免费网站| 丁J香六月首页| 日韩少妇内射免费播放| 亚洲啪啪精品| 日韩成人av在线| 激情五月天啪啪| 丁香五月婷婷激情完整版| 色婷婷综合久久| 国产乱人偷精品人妻A片| 91婷婷| 高清无码网址| 久草x色在线观看99| 五月丁香婷婷伊人| 999精品乱码77777| 丁香女人五月天| 青草网在线观看| 一起草无码视频| 久久久久久久久久久久久久人妻视频 | 夜夜 操无码| 婷婷色导航| 99热一本久道| 888精品福利地址| 五月天堂婷婷| 91日视频| 日韩黄在免| A片天天| 69精品无码一区二区三区| 五月天久草| 亚洲六月色婷婷| 亚洲sesesese| 日本五月婷婷| 亚洲综合在线视频| 亚洲AV电影美洲AV电影| 色五月无码| 91操操| 五月综合亚洲婷婷| 五月天激情久久| 色五月在线观看| 国产毛片精品一区二区色欲黄A片| 亚洲成人AV高清字幕| 五月天激情亚洲| 中文精品在| 99人这里只有精品| 婷婷午夜丁香| 丁香五月婷婷影院| 99色6爱9热| 激情五月婷婷在线区| 99热这里只有免费精品| 五月婷婷影院| 五月婷婷丁香综合| 久久婷婷成人综合色怡春院| 丁香五月性| 欧美A片在线视频免费观看| 另类专区在线观看| 日韩爱操视频| 成人五月丁香花| 99资源在线| 久久免费精品小视频| 中文不卡一二区| 久99久视频| 这里只有精品96| 欧美婷婷九月| 中文字幕色色色| 情色婷婷五月天| 亚洲乱码日产精品BD| 99啪99| 五月婷婷之六月丁香| www.色五月| 色婷丁香| 九九久久99精品免费观看www| 婷婷五月丁香六月天亚洲综合| 久久婷婷五月| 色玖玖综合网| 久婷久婷| 成人五月丁香社区| 五月丁香综合中文| 国产小网站| 婷婷色无码| www.天天干| 久操欧美在线观看97| 成片免费播放| www.五月婷婷| 激情四射网| 天天xxxxxx天天日| 啪啪五月婷婷| 国产色色色色| 欧美碰碰碰| 五月婷啪| 深爱五月天| 五月天婷婷社区久久综合| 四色AVwww| 婷婷婷色五月| 久久人妻久久| 婷婷亚洲五| 激情图片婷婷| 久久婷婷色| 天天爽天天干| 综合视频久久| 激情五月婷婷五月| 精品国产va久久久久| 国产精品视频免费看| 欧美啪啪网| 久久99热久久99精品| 风流少妇A片一区二区蜜桃| 天天天操天天天爰| 射满了还射免费在线观看 -午夜版全集-新视觉影院 | 蜜臀A∨在线水帘洞| 丁香五月人妻| A片试看120分钟做受视频红杏 | 五月天综合激情网| 九色视频91疯狂| 五月天激情网址| 久久婷婷五月综合激情国产| 婷婷丁香熟妇综合网| www.婷婷亚洲基地| 丁香六月婷婷综合激情欧美| 人妻丰满精品一区二区A片| 九九热亚洲中文在线观看免费| 五月婷丁香| 日韩色色网| 久久婷婷伊人| 这里只有精品网| wwww.9免费视频| 五月天亚洲最大成人| 99在线观看精品视频| 超碰在线91| 综合激情五月丁香| 丁香五月播播| 五月色综合| 五月天色图| 午夜精品777| 久热一区| 爆乳熟妇一区二区三区爆乳照片| 色五月婷婷久久爱| 色很久综合| 99热国内精品| 2025天天操| 伊人久久大香线蕉综合网站| 第五色婷婷| 色亭亭丁香五月天| 久久婷婷色| 日本在线视频手机播放五月婷| 国产精品VIDEOSSEX久久发布| 伊人综合网4| 第1影院之五月婷婷| 久大香蕉| 激情开心五月亚洲| 桃色Av色哟哟| 九九热婷婷| 五月天成人综合| 人人干人人干骚美女| 8050一级网| 久久婷婷综合基地| 丁香六月伊人| 婷婷热婷婷色| 婷婷香五月综合激情| 天天做天天要天天爱| 日韩色色色色| 色婷网| 色色色色色色综合| 99r久久这里只有精品| 五月停停大香蕉| 亚洲AV网站在线观看| 欧美激情xxxXX| 五月天伊人久久久久| 久色| 99色综合网| 国产精品久久久丁香五月八戒视频| 色五月婷婷激情基地| 婷婷中文字幕| 99re免费精品视频| 九色自拍| 婷婷伊人综合中文字幕| 99爱视频免费| 久久人妻伦理| 麻豆五月丁香婷婷| 三级大香蕉网| 婷婷五月综合在线视频| 九九热91| 亚洲色区17| 无码99| 久久性刺激| 丁香婷婷六月天| 97婷婷狠狠| av网址在线| 五月婷av| 99热6色| 四色 爱 婷婷 精品 亚洲 五月天| 色日本综合| 九九九激情网| 欧美一级a| 色婷婷丁香五月| 激情久久五月天| 天天干天天色综合| 少妇综合网| 青青草六月丁香| 婷婷欧美色| 欧美精品99| 精品99在线观看| chaopeng在线人人| 久9草在线观看视频| 亚洲乱码日产精品BD| 五月亭亭直播| 97色色婷婷| 99色性爰网络| 热久久91| 激情av| www.色五月| 亚洲丁香五月天视频| 五月天激情视频网站| 久噜久噜| 色婷婷狠狠| 亚洲第一精品网站| 五月婷婷激情中文字幕| 色五月综合网| 99色综合| www.韩日视频| 亚洲XX网| 婷婷亚洲五| 天天肏夜夜肏| 激情综合网,五月| 亚洲五月天伊人| 色婷婷婷综合五月天| 好看的国产精品| 97热视频| 五月天婷婷丁香视频| 亭亭五月天黑人2014| 青青草视频福利| 。久久久久久久久久久久久久人妻 | 色五月五月婷婷| 五月天色不卡| 九九成人视频| 嫩模草| 亚洲久艹| 亚洲精品乱码久久久久久按摩观| 午夜精品777| 性色99| 五月丁香婷婷五月| 久久久com| 碰人人97| 99热在线爱| 五月丁香六月婷婷亚洲激情综合| 五月天播播| 99re思思热久久| 曰韩少妇内射免费播放| 免费看欧美成人A片无码| 91黄色五月天视频| 婷婷六月丁香激情| 五月天亭亭俺也| 九九99免费理论| 亚洲av网站| 97色吧| 日本欧美999久久久三级片| 久热中文字幕| 99热99re6国产在线播放| 另类视频五月天| 成人免费高清在线播放| 91av传媒高清在线视频网| 91主播在线| 色情综合| 这里只有精品1| 日日撸夜夜操| 97超级免费无码| 色五月首页| 啪啪小说五月天| 色综合色| 成人资源在线| 日日夜夜天天爽| 人妻激情综合| 成人在线观看一区| 色色色国产| 丁香啪啪| 久色五月天| 激情婷婷丁香五月| 丁香婷婷色五月| 婷婷六月丁综合| 五月天婷婷色五月天| 色狠久| 免费视频WWW在线观看网站| 91a片爽| 天天综合激情| 色色网站在线| 丁香六月啪| 五月丁香综合激情网| 丁香婷婷色五月| 爆乳熟女一区二区三区爆乳| 亚洲成人五月天| AA片在线观看视频在线播放| av 一区三区四区| 中文字幕,综合,91| 在线看AV| 开心五月深爱五月丁香五月激情五月| 91se精品国产| 亚洲综合在线丁香五月| 人与禽A片啪啪| 久久9视频欧美| 国产密乳av一区二区三区四区| 中字幕视频在线永久在线观看免费| 五月丁香自拍| 人人操插| 日本综合久| 中文无码婷婷| 成年AAAA色情| 亚洲成人免费电影| 亚洲操逼网| 狠狠爱婷婷爱| 中文字幕在线免费观看视频| 色色五月天婷婷| 亚洲碰碰碰| 色播五月婷婷| 欧美色九| 中文字幕 码精品视频网站| www.五月丁香| av中文在线| 丁香色五月 97干| 日本啪啪网| 肏屄色播伊人97婷婷| 婷婷久久色| 绿色小导航AV| 色婷五月天| 色色色色色色色色五月先| 免费视频无码| 丁香五月婷婷激情四射| 9l视频自拍九色9l视频自拍九色9l社区| 超碰在线观看成人视| 噜噜噜噜综合在线| 青青草tp| 噼里啪啦完整版中文在线观看| 天天免费成年人视频| 99热这里有精品| 极品人妻videosss人妻| 超碰成人在线免费观看| 免费观看欧美成人AA片爱我多深 | 国产乱码久久| 老师高潮流白浆喷水的A片| 俺去也在线视频| 亚洲综合色婷婷文学| 精品A√| 久七香蕉| 婷婷视频网| 五月婷深深爱激情网| 色99欧洲色19| 色婷五月| 丁香五月色五月婷婷宗合| 91干99| 婷婷五月天亚洲五码| 97久久久| 欧美精品中文字幕亚洲专区| 26uuu亚洲| 激情婷婷在线中文字幕| 国产乱妇无乱码大黄AA片| 五月之婷婷| 丁香五月人妻| 亚洲成人在线在线| 色六月婷婷| 啪啪啪啪五月天| 色月丁| 久久a热| 色狠狠色狠狠| 1024婷婷综合久久五月天| 99热这里只有精品66| 欧美综合五月丁香六月婷| 国产精品成人AV在线观看春天| 五月深爱激情网| 九色91国产| 97精品人人A片免费看| 99九九视频| 六月婷婷之青青草| 久热黄色| 东北熟女高潮99综合99| 亚洲色色色| 亚洲色优| 亚洲、热| 久热这里只有精品在线观看 | www.91在线观看| 色色婷婷五月| 秋霞A V毛片| 婷婷丁香五月天小说| www,色婷婷| 午夜天天精品视频| www.色综合| 夜夜操夜夜操| 丁香色情五月综合网站| 日本天天综合| 精品人妻伦| 亚洲天堂大香蕉| 操逼综合激情网| 欧美色五月| 综合久久影院| 婷婷少妇激情| 激情久久丁香| 色婷婷五月综合| 五月丁香av在线| www色色com| 国产性爱一级| 五月婷婷日本| 久久婷婷五月天激情| 九九九激情网| 懂色av粉嫩av蜜臀av| 久久机热/这里只有精品| av狠狠操| 五月丁香六月婷婷综合网站| 五月婷婷丁香综合网| 同性gv国产精品一区二区| 9色在线| 精品久久婷婷| 婷婷操逼| A片试看120分钟做受图片| 亚洲另类电影| 五月天激情网图片| 日本99视频| 影音先锋女人AA鲁色资源| www.色婷婷| 开心激情站| 亚洲中文字幕av| 91chinese在线| 六月99天天婷婷激情综合| 99视频这里有精品免费观看| 日本熟女内射| 久久精热| 亚洲人妻电影| 色婷婷香蕉| 九九综合九九| 欧美性爱五月天| 日韩精品二三区| 五月丁香花婷婷玉莉AV| www.狠狠艹| 婷婷五月丁香香蕉| 色婷婷五月综合在线| 婷婷在线播放| www久久久| 九九热啪啪| 99亚洲精品视频| 五月丁香网站| 久色资源| 色五月激情五月| 99久久欧美| 色 五月 天 婷婷 丁香 九月| 99在线一区| 五月天激情四射网站| AA久久| 激情五月综合| 九热视频这里只有精品| 免费视频无码| 97在线观视频免费观看| 久久久久激情网| 精品人妻伦一二三区久久| 国产日韩精品SUV| 99ri国产精品| 电影爱拉战争免费观看| 久久这里只有精品99| 五月丁香婷婷成人网| 日韩黄色中文字幕| 久久久WWW| 日韩av大全| 婷婷 丁香 精品| 9999久久久久| 91人人超碰在线| 涩涩涩婷婷| 综合网啪| 久月久在线视频| 日韩不卡DvD| 99色在线观看| 五月婷婷久久综合| 五月天婷婷綜合院| 婷婷五月天堂一本在线| 伊人综合网站| 色婷视频| 日本色天堂| 色婷婷很很丝袜| 婷婷午夜| 啪啪操超碰| www.seqingwuyuetian| 亚洲综合五月天婷婷丁香| 亚洲99视频| 99re在线观看| 中文字幕丰满人妻无码专区| 五月丁香花婷婷玉莉AV| 日日做A爰片久久毛片A片英语| 人妻视频在线| 成人va视频| 91丁香色| 五月婷丁香久久久| 天天干天天干天天| 婷婷6月综合网| 狠狠综合久久| 91九色丨国产丨爆乳| 拳交大逼| 国产欧美大香蕉一区| 人妻内射麻豆视频| 99精品视频在线观看| 日本高清久| 婷婷五月天第三页| 红桃91人妻爽人妻爽| 色五月丁香激情| 天天舔天天爽| 日韩免费乱轮网站| 天天日天天干天天操| 久9热视频| 夜夜谢天天干| 狠狠色噜噜狠狠| 九九精品视频在线观看| 亚洲成AV人片在线观看| 丁香五月婷婷激情中文| 婷婷五月综合中文字幕| 婷婷五月视频| 婷婷成人在线| 久久婷.com| 91婷婷色| 激情五月六月婷婷| 欧美大香蕉视频| 9l视频自拍九色9l视频在线观看| 丁香激情五月天| 99资源在线| 天天天干夜夜夜操| 精品牛仔裤超碰| 日韩久热| 激情婷婷五月亚洲| www.色五月| 天天操天天日天天爽| 五月婷婷色在线| 婷婷五月天男人影院色色网| 狠狠色噜噜色狠狠狠综合色 | 久色网| 亚洲精99| 五月婷护士| 国产欧洲欧洲精品久久| 中文字幕AV网址| 亚洲五月婷| 开心 五月 综合| 亚洲网综合在线| 99热免| 色婷婷偷拍| 色五月丁香五月| 综合亚洲色色| 精品热青草| 婷婷久月| 中文字幕丰满乱孑伦无码专区| 激情五月婷婷| 日日.c| 99在线观看视频| 99热在线观看| 婷婷六月丁香五月| 丁香五月激情六月欧亚激情综合导航| 79色色色色| 亚洲熟女乱色综合亚洲网站| 九九在线精点品| 1995年关宝慧版蜘蛛女| 久久久精品AV| 91无码一区人妻A片蜜| 丁香色五月天| 色热久资源| 久久9情免费| 超碰chaompinm| 久热这里只有精品视频6| 极品九九九九九九| 青草青草视频2免费观看| 九九视频这里只有精品| 丁香六月 婷婷六月| 丁香五月很很肏| 久久国产色| 精品久久66| 五月六月播婷婷| 99操网站| 99精品成人无码A片观看金桔| 天天干夜夜想| www.婷婷五月天啪啪| 伊人碰碰婷婷| 99在线视频。| 国产亚洲色婷婷久久99精品91| 91色情播放| 久思思久视频| 婷婷激情人妻| 极品嫩草| 色狠狠色噜噜AV天堂五区| 超碰在线免费9| 久久草婷婷丁香网站| 婷婷四色五月| 五月天丁香综合在线| 99久久国产宗和精品1上映| www.99久久久| 久久人妻视频| 在线1青婷| 日日干夜夜撸夜夜骑| 色色色干| 色噜噜狠狠色综合网| 91人妻九色大屁股| 成人中文网| 亚洲在线激情婷婷五月| 婷婷欧美综合| 99熟女啪啪视频| 久9热插入| 中国操逼99| 色五月综合网| 可以免费观看的AV| 狠狠干在线| 亚洲成人AV在线观看| 五月丁香在线观看| 十月色综合| 婷婷五月综合视频| 毛片新网地| 久久九九99字幕| 免费色色色| 激情综合五月婷| 97在线刺激| 9伊人网| 久操人| av五月丁香婷婷网| 色色网91| 超碰93在线观看| 99色五月| 婷婷激情性爱| 99精品在线观看| 久久草大香蕉| 9er热在线精品视频| ww亚洲ww在线观看| 青青草a在线| 婷婷国产日本欧美| 中文字幕日韩无码制服诱或| 五月天婷婷影院影院| 色丁香久综合在线久综合在线观看| 五月婷婷就去色| 婷婷六月天精品| 婷婷五月天性| 天天做天天摸| 婷婷五月丁香超碰| 色婷婷网| 丁香六月激情综合| 五月天开心色色网| www.色色com| 色天堂97| 五月婷婷丁香成人网| 99热 在线观看| 欧美激情丁香五月天久久婷婷一区| 欧洲亚洲免费视频区| 6080av| 99热这里只有精品2| 久久综合五月天| 激情丁香社区| 少妇真实被内射视频三四区| 97操碰日本女人| 六月婷基地| av九九| 天天色,天天操,天天射| 六月丁香五月天| 伊人久久大香线蕉av最新| 夜夜撸夜夜骑| 五月丁香久久久| 天天肏高清在线| 丁香 婷婷 激情 综合 五月| 五月色婷婷激情| 开心婷婷中文字幕| 激情深爱五月天| WWW、日本色丁香、co m| caop在线视频| 五月WWW| 五月丁香成人| 丁香久久在线| 大香蕉五月丁香| 插插五月天| 操日视频| 日韩人妻白浆视频系列| 久久网日本| 综合五月天天天天天五月| 国产avapp 网| 五月天社区婷婷| 色99在线视频| 婷婷噜噜| 八戒青柠影视剧在线观看| 色色五月激情| 色五月婷婷大| 五月婷在线| 99干在线视频| 色综合色欲综合天天免费 | www.99热视频| 久久久精品色| 99国产精品久久久久久久久久久 | 一区二区三区视频| 日本天堂免费99| 婷婷五月天亚洲激情戏精品| 99热超碰在线| 五月婷婷九| 色婷婷色五月综合| 97人人射| 97色在线| 激情综合国产| 天啪色| 99热这里只有精品50| 五月丁香在线观看| 久久伦乱| 日日噜噜夜夜狠狠久久丁香五月| 精品成人在线| 人人爱天天摸摸天天爱| 99性视频| 97操碰碰无码视频| 99精品综合视频| 欧美性爱专区| 色情久久久| 亚洲熟妇AV乱码在线观看| 7777激情基地| 色五月综合在线| 国产婷婷久久| 日韩1区2区| 91呦呦呦| 精品皮股午夜AV| 国产又爽又猛又粗的视频A片| 噜噜噜噜噜在线| 日韩无码专区| 综合久久综合| 91操人视频| 久九色| 久婷五月| 久久五月丁香| 久碰视频| 久久久精品99亚洲综合| 996er热| 色婷婷手机在线| 这里只有精品2| 九九热这里只有精品5| 欧美日韩91| 开心五月婷婷激情| 综合激情视频| 色婷婷六月激情| 欧美内射AAAAAAXXXXX| 天天色综合色| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | www.五月天色色.com| 91视频五月丁香| 庭庭久久内射| 五月天啪啪| 成人在线日韩| 激情五月丁香激情综合网 | 色播五月天激情| 九月婷婷激情| 久久ab| 五月色亭丁香| 五月天丁香婷婷视频网址| 99热日韩| 991国产精选视频在线播放下载| 五月天久久婷婷| 亚洲精品网站色视频| 国产精产国品一二三在观看| 亚洲性爱日韩无码| 婷婷丁香先锋资源网站| 91人人爽狠狠狠| 国产色色在线| 久久久婷丁香五月| 丁香六月婷| 亚洲色五月| 日本不卡高字幕在线2019| 激情小说婷婷五月| 久久网日本| 欧美大片| 人人色婷婷| 五月婷婷六月丁香免费| 五月婷婷黄色网址| 99精品在线观看视频| 99免费热在线精品| 嫩模草| 五月丁香婷婷基地| 天天爽天天爽夜夜爽| 丁香六月激情毛片| 久久久五月天| 激情综合网五月激情| 色啪综合| 高清免费在线视频| 超碰免费人人| 五月丁香基地| 99五月丁香丁| 操操熟女| 大地9中文在线观看免费高清| 丁香五月激情啪啪| 丁香婷婷精品视频| 久久国产高潮白浆免费观看99| 91九色国产| 深爱激情av| 日本熟妇精品99| 91综合视频丁香| 大香蕉综合网| 99热综合网| 综合色五月天| 97碰久久| 久久久免费图片视频| 色999五月色| 久久激情网| 九九在线免费观看| 五月丁香综合| www.91AV.COM| 黄网在线免费| 天天色天天| 国产精品美女| 天天日日爽| 天天综合激情| 色综合久久44| WWW.久久久久久久久久久久久| 粉嫩AV久久一区二区三区| 丁香蜜臀黄色婷婷五月天| 狠狠搞亚洲| AV天堂淫乩| 九九色欲网| 99在线小视频| 亚洲视频综合网| 99操视频| 久久99网站| 大天天伊人| 色五月丁香伊人五月| 天天粽合合合合| www.久久| 激情性爱五月天| 久久五月婷婷丁香| www.一起草av| 五月天久久小说| 黄桃AV无码免费一区二区三区| 婷香五月激情视频| AV在线免费网站| 婷婷五月天天爽| 国产午夜一区二区三区| 淫水导航| Jh7Uf088VHafNm| 一區四區歐美日韓| 五月婷婷播| 婷婷五月天改成什么了| 亚洲Va成人| 久久这里精彩免费在线观看| 婷婷性爱网| 久9热在线视频| 婷婷久久99| 97色片| www久久99| 日韩啪啪视频| 婷婷久草| 天天天久久久| 99re这里只有精品免费| 五月停停直播| 天天综合五月| 激情五月天色爱| 五月综合婷婷久久在线| 婷婷五月六月丁香综合| 婷婷色5月激情网| 六月丁香久久| 丁香综合婷婷五月天| WWW.桔色成人.COM| 自拍偷窥99热| 能看的AV| 国产亚洲精品久久久久久久久动漫| 国产肥白大熟妇BBBB视频| 国产伦亲子伦亲子视频观看| 九月丁香久久网| 99ri精品在线观看| 性爱激情小说AV五月丁香花| 色婷婷久久综| 熟女色专区| 5月色亭亭视频| 丁香综合网| 久久99网| 国产激情久久久| 伊人久久婷婷| 久久婷婷五月天大香蕉| 超级碰人人操人人干| www.五月天婷婷| 激情综合啪啪啪| 秋霞网在线观看理论91| 另类小说激情五月天| 激情综合99| 99免费在线视频| 婷婷碰碰| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 丁香五月成人婷婷| 99热6精品| 99久久户外勾搭| 美国天天操无码| 久久香蕉网| 人人舔天天| 9热在线观看| 99热伊人| 亚洲欧洲小视频9| AV九九| 丁香5月婷婷| 99激情网| 九九成人电影婷婷| 久久久性爱视频| 五月婷婷久久综合| 色综合色综合色综合色综合| 26uuu欧美日本| 五月刺激丁香月综合| 狠狠色狠狠| 久99久热只有精品国产99| 亚洲成人av在线播放| 天天做天天爱天天爽| 五月婷中文娱乐综合| 成人五月天综合网| 婷婷五月色情天| 操一区| 五月天丁香综合在线| 日本婷婷综合精品| 超碰不卡在线| 欧美婷婷丁香社区在线播放| 午夜成人AV在线| 五月天婷婷黄色| 超碰人人色| 狠狠色婷婷色| a v色婷婷| 婷婷的99视频网站| 成人va在线| 人妻内射麻豆视频| 日韩高清成人| av操B网站| 深情六月婷婷综合久久| 激情文学第四色婷婷丁香五月| 影音先锋 婷婷| 五月天另类激情在线| 日韩有码久久| 伦99热| www.色综合| 九九精品综合| 五月婷婷丁香婷婷| 五月丁香六月片| 成人操呦av| 五月丁香91| 激情久久网| 婷婷六月伊人| 99在线精品免费视频| 久久98| 大香蕉久久婷婷精品综合| 亚州第一黄网| 伊人婷婷色激情丁香| 99久久九九| 色九区| 九色视频91| 大香蕉中文| 狠狠狠色激情综合适合| 成人性生活免费观看。| 色五月婷婷视频| 大香蕉九九| a网站免费观看| 九九RE视频在线精品| 天天综合网~91综合网| 亚洲美女网Va| 色色综合院| 五月婷婷色激情| 色婷婷亚洲综合网站| 天天综合天天玩夜夜玩天天玩夜夜玩 | 人人妻人人澡人人爽| 亚洲精色| www.婷婷五月.com| 99热这里只有精品一区| 色吧婷婷五月亚洲| 五月婷婷色情| 丁香五月天成人| 天堂婷婷丁香六月网| 亚洲愉拍99热成人精品| 管管補管管紱| 色日本颜射| 丁香婷婷免费| 欧美三级巜人妻互换| 伊人婷婷五月| 婷婷在线日韩综合| www一区二区三区| 97超碰99热99| 婷婷在线激情| 天天色丁香| 任你爽视频| 九九综合视频在线观看| 五月天婷婷基地| 五月婷婷成人网首页| 欧美亚洲色色色色| 婷婷丁香在线播放| 99内射视频| 黄色三级日本| 婷婷久久欧美| 91 九色大美女| 9 9 9色色| 日本久久精品18| 天天肏夜夜肏| 97人人干| 婷婷五月综合视频| 亚洲精品中文字幕成人片| 99操无码视频观看| 亚洲无码成人网| 人妻内射一区二区在线视频| 视色综合| 99精品久久久久久久| 婷婷久久网| 久久五月丁香激情综合| 亚洲午夜国产成人电影VA国产欧…| 天天狠狠六月婷丁香影院| 97碰| 精品夜夜澡人妻无码AV| 丁香六月无码播放| 狠狠爱婷婷爱| 综合久| 激情婷婷色五月| 色色激情五月| 国产精产国品一二三在观看| 丁香五月无码| 色色色国产| 久久一级AV| 性爱久久| 91精品熟女| 日本情色一区二区| 五月婷婷色色| 婷婷免费无视频| 五月婷婷丁香六月| 色情成人五月天| 九九99精品视频在线观看| 婷婷天堂站| 91干婷婷| 东京热免费视频| 亚洲五月天婷婷综合| 97人人搞| 久久六月婷婷| 99熟女| 玖玖资源站蜜臀| 99热精品在线观看| 丁香五月很很肏| 日本久久网| 亚洲人人操| 中文字幕丁香五月| 91丨九色丨白浆秘| 五月综合人妻| 五月天综合| 丁香五月人妻| 国产寻花在线| 五月丁香啪啪激情| 亚洲中文AV网站| 色噜噜狠狠色综无码久久合欧美| 五月丁香激情综合久久| 人妻videos人妻高清| www99在线观看视频| 91在线观看九区| 激情综合婷婷| 色丁香五月| 五月天激情网页| 五月天婷婷基地| 艹天天射| 182.t午在线观看| 97五月天| 色婷婷电影网| 人人草人人舔| 桔色成人在线| 五月色婷婷AV| 五月网激情| 色哟哟精品| 蜜臀99久久精品久久久久| 老美AA片| 日韩婷婷| 99热这里有精力| 99国产精品久久久久久久久久久| www.av骚货| 日本色婷婷综合| 六月丁香婷婷五月天| 1024婷婷综合久久五月天| 日韩三级视频一区二区| 操B视频在线播放| 五月天激情综合10p| caobi四区| 丁香六月婷婷久久综合八月| 91色色色| 亚洲视频二区| 久9久成人精品视频| 综合久久久婷| 日韩AV一区二区三区| 成人AV播放| 色九四色| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 亭亭色网| 色九月婷婷丁香| 婷婷综合一二三| 日日撸夜夜操| 婷婷综合在线| 思思热视频| 久久丁香五月天| 夜夜骑夜夜操| 色色色99| 蜜桃人妻无码AV天堂三区| 狠狠干无码| 天天噜噜| 婷婷六月综合基地| 久久色9| 婷婷涩五月| 免费AV播放| 日韩婷婷| 国产又黄又爽又色的免费| 全部老头和老太XXXXX| 丁香情色五月| 99福利视频导航| 丁香花五月天婷婷成人社区| 久久综合最新网址| 51精品国内探花| 99热性色| 日本3级片偷拍网站| 久热伊人| 狠狠色激情在线| 爱婷婷五月| 五月亭亭直播| 色久女| 色999五月色| 婷婷D区| 色婷九九九| 九九色影院| 色色影院aaaav| 久久人妻在线| www.夜夜操| 色吧五月婷婷| 国产精品色情AAAAA片软件| 色婷婷精品视频在线播放| 99碰| 激情深爱婷婷网| 91精品国产综合久久密臀| 激情五月综合| 婷婷久久综合久| 99热网精品| 99ri视频在线播放| 国产日批视频免费播放| 激情婷婷狠狠干| www.夜夜操| 色色色综合网| 99re视频在线精品| 色综合九九| 久久婷婷五月草视频| 五月丁香啪啪| 久久久久久欧美精品se一二三四| 91呦呦呦| 日本九九九九| 亚洲性色XXXXX| 亚洲操精品| 中文字幕日本最新乱码视频 | 亚洲超碰在线| 一区二区你懂的| 7月婷婷六月丁香| 看国产探花操逼三级片| 婷婷天堂综合| 丁香五月婷婷av影院| 丁香五月91| 精品51XX| 五月天激情亚洲| 99热97美女| 精a品a视a频| 激情五月婷婷丁香| 激情综合五月婷婷| 91在线看免费 九九九九| 色久在| 久久婷婷五月综合色丁香| 亚洲中文字幕在线观看| 九九干视频| 天天干-天天日| 97婷婷色| 中文字幕在线不卡视频| 第四色五月激情网| 99精品在线| 丁香五月大香蕉在线99| 欧美色五月| 婷婷天天婷婷天天澡| 色色操| 色丁香久久| 综合成人小说婷婷| 国产AV熟妇人震精品一品二区| 人人97碰| 亚洲天堂aaaa| 久久婷婷丁香花综合网| 激情综合5| 久久婷婷五月综合激情国产 | 二色AV| 天天拍天天操| 欧美一级a| 天天插天天很| 99精品视频免费观看| 丁香婷婷色色| 久久五月天色| httpwww色com日本| 五月天开心婷婷久久| 午夜大香蕉| 91疯狂操操操操| 99在热线免费视频| 色婷婷很很十八禁| 天天拍天天做视频| 思思热在线观看| 91超级碰| 久久丁香五月| 亚洲av网址| 婷婷丁香五月亚洲| 26uuu色五月| 五月丁香青草综合啪啪| 99热这里只有精品9| 丁香六月婷婷久久综合| 97AV在线视频| 9l视频自拍9l九色9l成人| www.婷婷五月| 日本人妻操| 深爱激情综合网| 久久精品日| 欧美人人草| 肏日网在线看| 日韩视频99| 国产中文字幕在线视频免费观看| 五月丁香欧美在线| 好叼操在线观看| 婷婷五月天偷拍| 亚洲人操亚洲人| 情婷婷五月天| 激情五月婷色| 人妻久久人妻久久第一区| 婷婷丁香www视频日本韩国| 婷婷干五月综合在线播放| Caoub青青超碰| 天天做天天爱天天要| 99热精品网| 超碰人人99| 色播六月| 综合婷婷| 密乳视频|