欧美成人午夜精品久久久,国产?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
返回資訊列表
99色五月| 日本在线视频播放91| 黄色AAAAAAA| 影音先锋四区| 欧美日韩aaa| 天天干夜夜操A片| 六月丁香婷婷爱| 九九操操| 五月丁香久久| 色 色 色综合com| 狠狠夜夜五月丁香| 色婷五月天| 就爱日五月天| www九九免费视频| 狠狠色狠狠| 丁香五月a| 丁香五月天信号| 色色婷婷色色| 丁香 亚洲 久久| 欧美性生交XXXXX无码小说| 色色综合激情| 丁香五月AV| 色操b| 色婷婷五月开心六月综合| 色吊操色妞| 婷色五月天| www.五月婷婷久久.com| 久久婷婷五月综合色奶水99啪| 天天干com| 亚洲五月天天| 色 五月俺去也| 日韩成人精品中文字幕| 五月丁香啪啪网| 涩涩五月天| 伊人干练久| 精品久热| 五月天色婷伊人| 色吧婷婷| 99亚洲天堂| 成人啪啪色婷婷久| 久一网站| 99久久综合| 99热新网址| 亚洲成人中文字幕| 久久免费操| 亚洲无码黄色| 99这里有精品视频| 天天干,天天舔| 99热最新| 热久久77777| 丁香五月,开心五月,成人婷婷| 色欲九区| 丁香5月激情网| 99热综合网| 色爱99| av免费在线网站| 久久99精品久久久| 99热爱爱干干日| 久久精品63| 九色 在线| 免费AV在线| 丁香五月婷婷av| 亚洲视频操| 综合激情在线| 国产精品在线视频| 天天爽夜夜爽天天爽夜夜爽| 婷婷精品性视频| 婷婷丁香五月亚洲| 婷婷五月综合网| 日本一道久久| 国产精产国品一二三在观看| 亚洲成人中文字幕| 中文字幕黄色片| 亚洲成人在线播放| 色久综合天天做视频| 99re这里只有精品首页| 丁香五月天堂网| 99自拍视频网站| 人妻22p| 婷婷丁香五月激情| 婷婷五月天 丁香五月天 裸体| 亚洲欧洲美女在线观| 玖玖婷婷色欲| 97啪啪| Av性爱网站| 久久九九99字幕| 激情久久综合网| 婷婷色综合| 日韩啪啪视频| 三十熟女| 天天做天天爽| www.激情五月天.con| 3p久久| 日本在线视频www色| 蜜臀av无码久久久久久久久| 岛国AV网站| WWW,五月| 超碰人人摸人人操| 美女网黄| 韩国三级五月天婷婷。| 婷婷五月天视频| 日本色99网站| 热99精品视频在线观看| 色婷婷中文在线| 成人婷婷| 婷婷五月激情综合啪啪| 五月激情在线| 6 9式性爱视频在线播放| 丁香五月六月综合激情| 五月丁香狠狠地噜噜噜噜| 五月婷婷综合丁香视频| 青柠影视免费高清电视剧| 中文成人在线| 99热精品一区| 99热久| 久久五月热| 超碰操网| 97色啪| 丁香五月激情五月| 激情综合婷婷| 成人久碰| 激情五月天色网站| 日韩一级淫乱片一区二区三区| 中文字幕九九九九| 26uuu欧美| 91九色精品女同系列| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | Av在线不卡一区| 激情丁香六月| 色综合激情| 99热8| 99热在线播放精品| 婷婷激情五月综合基地| 高清无码网址| 女性自慰系列第五页| 九九热精品6| 色五月激情网| 97啪啪| 99热官网精品在线| 一本久久婷婷| 丁香五月网| 99久久免费性爱视频`| www.97干视频| 色五月色五天色情网| 五月天社区| 国内久久亭亭| 日韩九区| 五月婷婷内射网| 色综合色五月| 性热视频99精品| 色欲AVV| 99视频精品全部免费 在线| 丁香婷婷深情五月亚洲| 91综合视频丁香| 婷婷97狠狠干| 中文字幕成人| peg 2区三区四区的| 丁香六月婷婷久久综合| 女性自慰系列第五页| 香蕉婷婷色五月| 东京热人妻一区二区三区在线| 婷婷成人综合五月| 91丨九色丨国产| 伊人干综合| 久久六月天| 另类图片五月天激情| 爱99干99| 国内婷婷丁香社区在线播放| 免费视频WWW在线观看网站| 五月丁香美女| 99燥99日| 午夜做爱影院| 超碰99热精品| 91碰碰| 色综合九九色综合88| 五月天停婷基地| www.日本91| 欧洲综合视频| 五月激情啪啪| 激情五月婷婷丁香| 激情五月天啪啪视频| 女人天堂AV| 激情六| 色五月综合网| 五月天婷婷深深爱| 天天综合久久| 在线观看中文字幕| www.激情五月| 亚韩在线视频| 丁香五月婷婷亚洲综合精品| 日日操夜夜爽| 艾小青av| 99久久精品色老| 丁香五月婷婷色| 开心久久五月天| 99综合视频| 操逼123网| 五月天丁香婷婷久久九| 九九热在线精品| 五月天AV大香蕉| 97人人搞| 丁香五月日啪| 婷婷第一页| 久久婷婷五月综合啪| 五月丁香六月婷| 婷婷六月爽| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 色综啪啪| 激情五月婷婷综合| 99福利视频| 成人 九九九九| 色五月婷婷大香蕉| 丁香婷婷少妇| www99在线观看视频| 99视频内射三四| 九九热再线九九视频免费在线观看 | 九九狠狠干| 中文av网站| 亚洲九九视频| 91.www综合| 五月天中文网| 色婷婷免费观看| 91五月天| 色五月激情| 婷婷综合五月激情| 激情综合区| 高潮毛片又色又爽免费| 99自拍视频网站| 婷婷五月天777| 丁香五月激情啪啪啪啪| 欧美色五月| 六月丁香婷婷五月| 精品婷婷五| 丁香五月天堂亚洲社区| 六月丁香久久| 亚洲综合五月天婷婷| 中文字幕 中文字幕明步| 五月丁香五月婷婷在线观看| 大香蕉综合在线| 亚洲三A| 丁香婷婷性久久| 狠狠色官网| 91视频免费后入强操| 开心激情站| 婷婷五月婷婷| 狠狠狠狠操| 久草五月| 亚洲无线视频| 色色色色区| 国产精品久久久久久久久久免费| 亚洲区视频| 亚洲激情精品| 婷婷深爱五月亚洲综合| 丁香六月爱综合| 97干欧美| 成人啪啪色婷婷久| 亚洲亚洲人成综合网络| 99热在这里只有精品| 激情小说视频图片网| 激情宗合哪里能看| 异能之下短剧免费观看全集| 玖玖婷婷五月| 成人在线视频一区| 99在线爽| 日本丰满久久| 91色五月在线观看| 综合天堂AV久久久久久久| 91精品在线看| 欧美色久| 丁香大香蕉| 婷婷伊人网| 99精品7| 久久九九@| 久播影院免费观看电视剧大全最新网| 曰曰久久| 五月婷婷免费在线视频| 思思精品热在线| 99九九视屏| 伊人五月天男人的天堂在线| 九九热在线观看6| 色色色区| 啪啪综合| 五月香婷婷| 91互操| 欧美婷婷九月| 91在线视频综合| 五月丁香狠狠爱婷婷综合| 青青草婷婷五月天| 可以看的av网站| 五月激情婷婷女| 天天久| 91婷婷色五月| 激情综合五| www.夜夜爱.com| 99精品视频免费观看近期发布| 久久精品99国产精品日本| 色一情一乱一乱一区91Av| 色色射| 色五月婷婷丁香五月| www.色99| 丁香色五月直播| 色婷婷综合网站| 在线视频另类| 天天做综合| 伊人青草成人| 欧美婷婷五月| 婷婷的色色五月天| 97福利视频| 青青草激情网| 亚洲国产精品VA在线看黑人| 1024欧美看片| 午夜成人综合| 狠狠操天天操综合| 99狠狠操一| 久久综合丁香| 在线99热| 丁香六月婷婷综合网| 91大屁股| 人人干99| 色婷婷丁香五月| 久久九九激情五月天 | 色色性爱视频| 亚洲视频在线网站| 成人午夜免费电影| 五月天婷综合网站| 激情婷婷五月天日本系列| 日本色色色| 亚欧州精品视频| 激情婷婷六月天| wwww.9免费视频| 久久精品91视频| 亚洲情欲久久| 夜夜躁婷婷AV| 伊人婷婷色激情丁香| 婷婷色五月丁香六月欧美啪| www.99在线| 五月综合激情婷婷六月色窝| 日本 色综合| 大香蕉婷婷丁香天堂AV| 中文字幕 久久9999| 囯产精品久久欠久久久久久九大| 五月婷婷啪啪| 老妇操B| 激情涩涩网| 色狠狠综合入口| 在线网黄| 米奇影视资源777狠狠色婷婷五月天激情网 | 午夜理论片最新午夜理论剧| 日夜夜久久| 色婷婷五月综合| 五月天婷婷久久| 天天日色情| 久久一级免费黄色片| 激情小说五月天| 亚洲婷婷丁香| 久久婷综合网| 婷婷五月激情中文字幕| 色婷婷精品视频在线播放| 五月婷婷激情69| 久久精品性爱| 欧美情月伍月天| 最新色色五月天| 丁香六月天婷婷| 久久天堂精品| 色久五月| 久久婷五月| 婷婷九九色| 婷婷色五月激情| 1995年关宝慧版蜘蛛女| 二色av| 五月婷婷六月色| 色都都狠狠色都都色综合色| 99r这里只有精品哦| 激情99在线视频| www.国产色| 男人的天堂在线婷婷| 天天综合网91| 91黄操| 欧美日韩国产一区| 色婷婷九月| 99操视频| 伊人色综合网| 五月天激情开心网| 久久综合五月天激情小说网站 | 久久五月丁香| 激情性爱五月天网页| 天天色天天搡| 成人一级片| A网在线欧洲| 九九热99热| 亚洲AVDVD| 五月婷婷久久爱| 成人在线不卡| 99热只有精品在线| 久久99热在线观看| 1级欧美日韩| 密黄站| 91肏| 亚洲色夜| 天天日夜夜拍| 五月丁香亭亭A片| 插插干干干色| 久久人妻熟女一区二区| 狠狠色五月激情| 五月综合视频| 欧洲激情五月天婷婷| 夜夜爱爱亚洲| 九九草热在线观看| 第四色在线观看| 六月丁香啪啪| www.色婷婷| 操久久网| 99九九精品| 激情综合丁香| 草综合14| 99操免费视频| 久久9精品视频| 六月色激情| 激情综合五月婷婷六月丁香| 91亚洲视频| 99色免费视频| 六月婷婷网| 久久五月天激情| 亚洲AV久久久久久久久久久久久久久久 | 精品无码久久久久久久久| 天天色综合色色色色色。| 婷婷色色丁香五月天| 影音先锋天天日| 开心五月激情网| 久久奄也去色色网站| 香蕉婷婷色五月| 国产精品A成V人在线播放| 九九热在线99| 99aese| 97av在线视频| 国产精品视频网| 少妇性按摩无码中文A片| 久久五月丁香| 精品久久66| 大香蕉AV在线| 九九热精品99| 97sese婷婷| 色婷婷网大全在线| 人妻体体内射精一区二区 | 久久中文网| 婷婷五月天成人娱乐| 91精品久久久久久77777| 婷婷伊人无码| AV大片在线观看| 婷婷五月天无码| 狠狠色噜噜狠狠| 五月婷婷久久久| 另类的婷婷| 黄色国久久| 亚洲欧美一区二区三区四区爱爱动图| www.婷婷,com| 久久久国产精品黄毛片| 激情五月色在线播放| 天天操狠狠操| 五月丁香综合网色欲| 午夜爱爱网站| 九九热re99re6在线精品| 欧美激情伊人| 亚洲AV中文在线| 国产噜一噜天天噜| 亚洲情欲久久| 五月丁香偷拍| 婷婷.com| 六月丁香婷婷视频综合在线观看| 99视频日韩| 97人人搞| 五月丁香 啪啪啪| 亚洲成人在线观看网址| www.色婷婷| 人人视频色| 亚州操操| 深夜婷婷 丁香| 99热亚洲精品| 这里只有九九精品| 日产精品一线二线三线芒果| 五月婷婷激情综合| 超碰在线日夜| www. 五月. com| www.国产亚洲69ty.久久久久久久久久久久| 狠狠精品干练久久久无码中文字幕 | 性爱在线播放av| 狠狠五月综合在线| 久婷久婷| 中日韩美欧成人一区二区精品在线| 色九月婷婷丁香| 激情五月天开心网丁香无码| 99热网址| 亚洲精品第一国产综合亚AV| 丁香五月天堂| 婷婷五月色色| 五月丁香激情深爱婷婷| 久久9RE热视频精品98| 激情久久久| 伊人五月综合网| 爱草视频在线观看| 激情小说五月天社区丁香 | 五月丁香黄色视频| 婷婷色五月综合丁香| 99re热在线视频观看| 狠狠操狠狠爱| 99视频内射三四| 亚州精品久久久久AV无码| www.99热视频| 色情五月| 狠狠色婷婷综合开心影视| 五月丁香综合激情| 91狠狠色丁香| 亭亭五月丁香五月天激情| 综合色天天| 影音先锋一区| 99视频久久久| 丁香婷婷激情四射五月| 九月丁香网婷婷| 色色丁香| 色色五月婷| 97久久久| 991精品在线视频| 亚洲AV色婷婷人禽五月天| 99色啊| www,8050,午夜三级| 9热精品| 玖玖九九9999在线观看视频精品| 九九婷婷热| 少妇性按摩无码中文A片| 97精品欧美91久久久久久久| 99精品视频在线观看| 99性视频| 九九久久网| 五月婷婷视频28| 五月久久亚洲| 五月丁香亭亭天天舔| 天天草天天舔| 狠狠色丁香婷婷综合久久97AV| 丁香狠狠| 狠狠五月天婷婷| 五月丁了香蕉综合| 婷婷六月插屄激情| 五月丁香激情综合六月涩涩爱| 可以免费观看的av网址| 成人必爱视| 丁香五月综合久久八| 久久99网站| 色综合久久天天综合网| 婷婷丁香五月天综合AV| 99久久丝| 五月综合777| 五月天夜夜爱夜夜操| 五月天婷婷成人资源站| 中文字幕色色| 五月天综合| 玖玖综合网| 久久综合干| 激情视频网址| 夜夜爽77777妓女免费下载| 亚洲中文字幕在线观看| 在线综合亚洲欧美65| 变态另类色图| AAA久久久AAA久久久AAA| 九九色播五月丁香| 五月丁香综合啪啪| 亚洲婷婷丁香五月视频| 六月婷婷久久大全| 五月丁香久久| 欧美色色色| 成人做爰黄A片免费看直播室男男 A片试看120分钟做受图片 | 另类婷婷丁香| 五月婷六月丁香| 色婷婷伦理| 日日日日操| 激情综合五| 欧美va视频| 欧美交换配乱吟粗大25P| 欧美性猛交XXXX乱大交极品| 91国产精品视频播放| 久草a片| 亚洲丁香花色| 五月丁香色婷| 色你久久| 欧美大肥婆大肥BBBBB| 大香蕉久久视频久久视频 | 久久九九国产精品怡红院| 欧美色片中文字幕久久久久| 丁香五月最新网址| 熟女色专区| 999影院成人在线影院| 激情噜噜噜| 99这里只有| 久777| 九九热精品99| 色。 日日日| 丁香婷婷激情六月五月开心| 亚洲精品99| 九九九激情网| 五月色丁香| 26uuu激情五月天| 五月天色不卡| 激情五月天视频| 亚洲天堂有码| 99热思思在线观看| 99这里有精品| 五月丁香综合色婷婷| 日hao1区| 逼逼AV| 91黄操| 精品成人无码A片观看香草视频| wwwC0maV五月花| 久99热| 97操碰在线97| se色99| 国产成人在线精品| H亚洲| 九九热这里只有精品7| 这里精品| 少妇AB又爽又紧无码网站| 免费播放片大片| 五月丁香激情婷婷综合| 天天操天天操天天操天天操天天操 | 色婷婷丁香| 亚洲AV日韩AV永久无码网站| bbwcuckold精品熟妇| 亚洲激情婷婷| 大香伊人久色| 五月天婷亚洲综合在线嫩草网| 婷婷爱五月天| 天堂网亚洲色图| 丁香六月狠狠| 综合五月婷婷| 91婷婷色 | 五月综合色播播丁香婷婷| 精品久久人妻| 9久热在线视频精品| 激情黄色小说五月天| 在线播放成人网站| 久久久久久久97| 日本成人噜噜噜| 亚洲精品**不卡在线播he| 欧美激情五月综合| 五月香婷婷| 欧美日本黄色| 激情五月婷婷| 丁香五月天婷婷91| 色五月婷婷在线| 思思干精品| 337p午夜影院| www.色五月| 综合激情网五月激情| 五月天堂色| 婷婷情色五月天| 99精品综合| AV在线不卡网站| 婷婷五月色综合| 少妇性BBB搡BBB爽爽爽视頻| 99爱免费在线观看| 青青草国产亚洲精品久久| 九九综合视频在线观看| 天天做夜夜爽| www.狠狠操.co m| 99亚洲精品视频| 久久99婷婷| 日本色色色| 超碰精品在线| 99九九99九九九视频精彩| 日本操碰碰| 棕合影院色色| 丁香六月婷婷综合| 久久精品国产色| 亚洲免费看片| 激情伊人五月婷婷久久| 五月天社区婷婷| 久99热| 99精品偷拍视频| 丁香五月婷婷视频| 啪啪 综合网| 99久久综合| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 日本超碰在线| 六月婷婷天天操夜夜爽视频| 日本99热| 九九色热视频| CAoub青青超碰| 激情亭亭五月| 久久99这里只有精品| 丁香五月天堂网| 欧美另类五月激情| 五月婷婷色白丝| 欧美性爱五月天| Av九九| 国产 码在线成人网站| 亚洲五月丁| 色综合网页| 色五月婷婷综合在线| 久久性视频| 大陆极品少妇内射AAAAAA| 色五月天网| 9 大屁股在线视频精品| 亚洲高清在线| 丁香六月高清视频| 热99热久| 五月天婷婷色综合| 六月色色婷婷| 人人操 色| 五月丁香六月激情| WWW.99热| 五月婷婷久久综合| 疯狂做受XXXX高潮A片| 亚洲欧美999| 人妻熟妇国产精品| 婷婷五月综合国产精品| 久久视频婷婷| 五月丁香在线国产 | 91丨九色丨国产打屁股| 狠色狠色综合久久| av国产精品偷| aaa久久久| 五月丁香久| 九九热这里只有精品9| 综合五月丁香六月婷婷| 久久伊人大香蕉| 思思热在线精品视频| 天天干,天天舔| 婷婷五月丁香四射| 婷婷五月天社区| 综合九九| 亚洲色五月天是什么| 久久一级免费黄色片| 五月婷婷啪啪| 久久精品夜色噜噜亚洲a∨| 色婷婷中文字母五月丁香| 五月丁香 狠狠爱| 99热这里| 五月天伊人久久久久| 99热超碰在线| 九九大香蕉黄色影院| 99精品国产乱码久久久人妻| 日韩欧美一级大黄网站| 天天干com| www久久99com| AV在线观看网站| 色婷小说| 久热婷婷综合| www.minyis.com【JT】实力收量可预付QQ2101460746 | 91精品久久久久久综合五月天| 婷丁香久综合| 色天堂A| 色婷狠狠| 男女啪啪做爰高潮无遮挡| 久热大香蕉| 99热这里有精品| 婷婷综合网伊人| 婷婷激情五月天综合| 91九色视频在线观看| 五月天婷婷丁香成人网| av亚洲国产小电影| 日本va欧美va国产激情| 色五月婷婷影院| 五月丁香综合在线| 丁香五月六月婷婷综合激情| 开心五月激情站| 九九热超碰| 香焦网五月天| 天天综合色丁香| 97色综合视频| 2w在线视频| a色色色色色| 天堂资源欧日浪女在线播放| 超碰资源在线| 秋霞丝袜啪啪啪| 亭亭丁香97| 好吊兆人妻| A片试看50分钟做受视频| 91九色网| 九九aV| 欧美一级色| 这里只有精彩视频| 97操碰| 99精品在线播放| 996热re视频精品视频| 九九干视频| 99re6久热只有精品6在线直播| 玖玖资源站蜜臀| 日本va欧美va欧美va| 五月丁香六月婷婷亚洲| 五月久久丁香| 婷婷精品综合| 日日爽日日爽| 婷婷五月天在线视频网站| 九九热只有精品| 婷婷欧美| 久热AA| 色色丁香婷婷综合| 五月丁香综合在线| 在线另类| 婷婷五月天 丁香五月天 裸体| 蜜乳av一级av| 色999五月色| 无码人妻AV久久久一区二区三区 | 婷婷激情五月天色| 337p午夜影院| 丁香婷婷啪啪啪| 99在线精品在线视频| 深爱激情五月婷婷| 五月婷婷在线免费| 日本五月天网站| 久99久精品视频| 色播播五月天| 亚洲V国产V欧美V久久久久久| 久久九九热re6这里有精品| 午夜AV网| 大伊香蕉玖玖爱| 日韩成人网址| 99人这里只有精品| 天天爽夜夜爽天天爽夜夜爽| 久久99性爱| 激情综合色婷婷六月天| 九九精品热播| 天天干天天日天天操| www.超碰97| 五月婷中文娱乐综合| 91婷婷伊人牛牛| 丁香无月在线观看| 日本怕怕视频| 婷婷综合五月色播| www.五月天| 激情五月激情综合网| 免费观看全黄做爰的视频| 丁香五月综合激情久久潮喷| 久久五月天视频| 丁香五月天欧美成人| 夜夜骑福利资源| 丁香五月天视频| 欧美色色色| 九九综合九色欧美狠狠| 色欲丁香| 深爱激情五月天色婷婷| 五月激情婷婷丁香| 九九热精品| 婷婷激情久久| 五月丁香综合啪啪| 国产精品蜜臀99| 日韩成人中文字幕| 在线观看免费观看在线9久| 日韩AV中文字幕在线| 久热久色| 久热这里只有精品99re| 婷婷五月天激情小说| 91丨九色丨老熟女激情| 怕怕視頻| 亚洲激情婷婷| 久久丁香五月天| 久久婷婷激情久久| 这里只精品| 一级二级色大片| 99国产精品久久久久久久久久久| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 五月亭亭直播| 国产精品久久久久9999小说| 色婷婷19| 日本激情五月天‘| 99热自拍| 二级黄色毛片| 99国产性感视频| 99性视频| 六月丁香狠狠爱| 激情5月婷婷狠狠干| 五月天婷婷无码| 五月婷婷色| 亚洲AV网站在线观看| 天天爽日日爽夜夜爽| 丁香六月综合| 97色在线观看视频| 婷婷激情丁香六月| 北京熟妇搡BBBB搡BBBB| 久久伦乱| 全国最新疫情| 婷婷五月天影院| 99热线观看9| 午夜婷婷五月天| 狠狠操狠狠爱| 亚州精品色情无码A片| 色五月人妻| 热99玖玖99玖玖99九九| 久久中文人妻系列| 亚洲超碰在线| 91久久九色| 5月丁香六月婷婷| 精品夜夜澡人妻无码AV| 久久久久9999| 婷婷综合视频| 丁香六月综合激| 婷婷丁香五月综合激情小说| 俺也去色| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 国产免费性爱| 激情婷婷五月天伊人在线观看| 色色五月丁香婷婷| 狠狠色97| 天天日天天爽| 久久精品噜噜噜成人A∨色欲| 青青福利网| 99久re热视频精品98| 色五月五月婷婷| 亚洲丁香五月天视频| 色婷狠狠| 天天撸天天干天天插| 婷婷碰碰| 亚洲精品色色色| 婷婷欠久少妇| 婷婷天天综合| 五月丁香色停停啪啪啪| 先锋男人99资源| wwwss在线观看| 激情综合无码| 99热这里都是精品| 激情av| 亚洲九区| 婷婷激情伍月网| 综合激情视频| 开心 五月 综合| 97色色网| 综合网激情五月天| 丰满少妇猛烈A片免费看观看| xx色综合| 亚洲乱码日产精品BD| 第四色婷婷五月| 超碰成人公开| 五月天夜夜爱夜夜操| 99热爆在线| www.久久五月天.com| av大片在线| 日本五月视频| 综合激情sV| 六月婷婷八月丁香| 丁香五月天网站| 丁香午夜天| 翔田千里aV中文字幕| 99精品偷自拍| 婷婷五月丁香网| 色99免费视频中文| 67194成I人在线观看线路1| 色婷婷操逼| 久久激情五月| 五月丁香激情综合六月涩涩爱| 97成人丁香| 五月亭亭六月天| 激情久久肏屄视频| 日日天天干| 丁香五月香蕉在线| 欧美色图片88| 天天日天天干天天天| 99九九视频精彩在线| 国产 亚洲 在线| 久久网站观看免费欧洲国产 | 婷婷酒色网| 丁香五月成人网| 五月丁香亚洲校园欧美| 久久人妻熟女一区二区| 丁香激情综合| 色吧婷婷| 熟女人妻一区二区三区免费看| 日本va视频| 99热新网址| 99精品在线观看| 五月天天天色| 激情五月综合网最新| 777精品久无码人妻蜜桃| 天天插AV丝袜中| 成人短视频在线| 欧美日韩欧美| 99热最新网址| 亚洲午夜电影| 99色婷婷视频| 99热在线观看亚洲区| 国产97色在线 | 日韩| 国产FREESEXVIDEOS性中国| 99亚洲无码| 久草婷婷| 伊人大香蕉爱聚| 九九久久精品| 五月婷婷精品无在线| ww久久| 久久综合久色欧美综合狠狠| 色色色在线观看| 99精品这里只有免费视频| 六月丁香婷婷大香蕉| 五月丁香激情综合网| 九九热思思| 密黄站| 99色日本| 双性美人被调教到喷水A片| 99热丁香| 激情黄色五月天| 久9久9热久热| 五月婷婷很很色| 欧洲亚洲精品| 婷婷五月天在线综合| 激情五月丁香综合蜜桃| 五月丁香婷婷狠狠操| 婷婷久久综合| 97好吊操| ss五月天激情| 日本在线视频www色| www.第四色99| 婷婷99狠狠| 五月婷婷六月天| 色丁香久久久| 婷婷6月综合网| 六月婷婷色色色| 欧美日韩二区在线| 综合网五月| 久久天天| 亚洲色无码| 五月婷婷天天色| 超碰精品在线| 久草九九| 激情五月天福利| 蜜桃成语时李时珍 免费| 精品久热| 五月亭亭开心网| 精品,99| 综合xx网| 九九视频免费| 色色丁香五月天| 婷婷丁香五月天熟女丝袜| 99精品综合| 国产伦亲子伦亲子视频观看| 五月叮香啪| 97在线/亚洲| 五月婷婷在线观看黄| 停停五月天激情网| 五月丁香 啪啪啪| 天天做天天爱天天日| 九九综合久久| 热五月婷婷| 青996青| 婷婷久久婷婷| 久久精品日| 7777国产盗摄农村女人| 欧美顶级少妇做爰HD| 色欲久久久久久综合网综合网| 玖玖热视频| 欧美激情综合五月色丁香| 99爱免费视频在线观看| 九九热在线视频,| 天天爱天天做天天舔| 五月天婷婷一起草| 婷婷放心五日爱| 天天日天天添| 色色五月天激情| 欧美在线视频99| 亚洲超碰在线| 久久五月婷婷电影| 五月婷婷熟女| 日本婷婷在线| 91爱操| 久久久999精品| 成人噜噜网| 噜噜噜狠狠色综合| 五月婷婷高清| 五月丁香在线视频观看| 99小精品| 五月婷无码| 思思re视频在线| 五月色俺婷婷| 精品,99| 这里只有精品1| 五月丁香六月情| 久热亚洲| 色色丁香婷婷综合| 丁香五月播播| www五月| 亚洲亚洲人成综合网络| 韩国中文字幕91| avh片在线观看| 久久香蕉婷婷| 99玖玖在线视频| 婷婷色网| 亚洲亚洲激情| 天天操夜夜爽| 丁香五月亚综合图片| 色五月成人| 五月天婷婷激情小说电影| 五月婷婷啪啪| 九九热超碰| 色综合激情图区| 五月丁香亚州综合网| 国洲夜色亚热在线久久| 五月天婷婷免费| 日韩色色色色色| 六月天六月婷| 婷婷五月天欧美| 亚洲AV成人片无码网站| 五月天开心网| 精品热九九| 色你久久| 婷婷四月 成人 狠狠干| 亚洲五月天婷婷综合| 裸体美女丁香五月天。| 色啪网| CHINESE熟女老女人HD视频| 五月天婷婷色综合| 嫩模aV在线| 99热99热在线观看| 亚洲天天综合| 99热在线精品播放| 性做爰1一7伦| 久碰久| 欧美噜噜久久久XXX| 99热这里只有精品官网| 婷婷九月综合| 国产婷婷色综合AV蜜臀AV| 99情色五月天| www久| 久久久99精品| 色婷婷大香蕉| 久久九九激情五月天| 丁香五月网| 五月丁香婷婷国产精品综合| 丁香婷婷色| 96丁香六月婷婷蜜桃综合久久| WWW.五月com| 五月停亭六月,六月停亭的英语 | 激情亚洲网| 最新无码专区| 五月天婷婷影院| 婷婷丁香五月天中文字幕| 色婷婷婷婷| 久热精品免费视频4| 超碰com| 五月综合六月婷婷| 玖玖热视频| 五月 婷 久| 另类色视频| 狠狠草狠狠草| 性做久久久久久久免费看| 婷婷玖玖五月天| 丁香桃色综合网| 97精品欧美91久久久久久久| 成人草榴视频| 五月色情婷婷| 五月丁香欧美| 天天色天天操天天射| 99人人操| 天天日夜夜夜操操操操| 五月天久久久| 亚洲成人无码专区| www.粉嫩av.com| 五月丁香香蕉| 免费无码毛片一区二区A片| 婷婷五月电影院| 天天模,夜夜模夜夜爽| 99久热| 91久久久久久久91| 五月丁香狠狠地噜噜噜噜| 久久99热这里只频精品6学生| 教师性爱毛片| 狠狠久久婷五月综合色| 成人丁香五月| 激情性爱网站| 凹凸操Av| 欧美丁香婷婷五月| 欧美精品A片一区在线观看| 色播丁香婷婷五月激情| 成人片在线播放| 99热在线观看精品| 婷婷五月天电影网| 综合久久五| 色五月开心五月激情五月| 97精品欧美91久久久久久久| 色婷婷AⅤ| 国产色色色色| 丁香五月婷婷天激情| 伊人丁香六月婷婷| 丁香五婷婷| 伊人狠狠色婷婷综合丁香一区| 夜夜资源站| 在线综合婷婷| 日本超碰在线| 26uuu丁香婷婷五月| 激情小说视频图片网| 丁香五月天AV在线 | 99热这里只有精品8| 色婷婷亚洲综合网站| 亚洲丁香五月美女| 五月婷婷激情| 777久久精品| 日日夜夜狠狠| 99热在线观看免费中文| 九九亚洲视频| 日本在线视频播放91| 五月激情天| 夜夜爱爱亚洲| 激情五月天小说网| 五月天之色情综合网| 看久久性爱99视频| 综合 蜜月 婷婷| 91婷婷五月天嫩女| 免费观看高清无码| WWW五月| 少妇人妻丰满做爰XXX| 99热热九九| 精品夜夜澡人妻无码AV| 三区激情四射av| 这里有精品| 六月伊人婷婷| 日韩黄色中文字幕| 99热在线观看免费| 操逼视频网址| 天天狠狠六月婷丁香影院| 97sese婷婷| 91久久九久久九久久九久久九久久| 大香蕉免费9| 中文字幕综合| 999热在线视频| 四色五月婷婷| 欧美激情 日韩无码 婷婷 五月天| 天天爽夜夜操| 久久99久久99精品免观看软件 | 丁香桃色网| 激情亚洲婷婷| 亚洲五月婷| 天天拍夜夜撸| 五月J香蕉婷婷| 亚洲五月天婷婷在线| 久啪欧美| 久久综合五月天| 97人人草| 香蕉AV777XXX色综合一区| 丁香五月六月欧美| 色婷婷无吗| 丁香五月区| 夜夜骑日日操| 久久综合婷婷激情| 天天干夜晚夜操| 91九色网| 福利视频在线播放| 久久人妻伊人| 婷婷六月激情| 五月丁香综合| 久久人妻在线| 婷婷综合精品| 大香蕉啪啪网| www.五月天激情| 97视频久久| 五月丁香啪啪啪| 色婷婷无吗| 亚洲日韩乱码一区二区三区四区| 色性五月天| 五月婷激情影院| 五月天综合婷婷| 激情五月com| 国产97色在线| 中文字幕永久在线| 丁香五月电影| 丁香五月激情宗合网| 色婷婷中文| 五月天婷婷av| 一本伊人色婷| 97干在线观看视频| 亚洲午夜在线视频| 婷婷丁香激情综合色情| 婷婷 激情 五月|