免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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
返回資訊列表
www久久99| 五月丁香色色| 久久久精品99| 97香蕉碰碰人妻国产欧美| 天天爱天天做综合| 五月停停色色丁香| OYIWbGcPu8H| 日韩十国产极品久久| 五月婷天堂视频| 久久曰曰| 日韩久热| 久久婷婷五月丁香网| 99热只有精品在线播放| 六月婷婷色色色| 99色精品| 五月丁香久久久久| 色婷婷视频在线| 日本 欧美在线| 天天做天天爽| 996er热| 99久re热视频精品98| 精品夜夜澡人妻无码AV| 久久婷婷视频| 国产成人av在线| 99色视频| 激情综合五月| 久超超碰| 野战毛片三一3| 性小说五月天| 五月天激情四射| 亚洲AV成人无码精品| 丁香六月激情四射| 激情婷婷色五月| 色婷婷色99国产综合精品| se色婷婷视频| 丁香88AV五月婷婷| www九九免费视频| 久久久噜噜噜久久人妻| 五月丁香影视| 亚洲精品V天堂中文字幕| 啊v视频在线观看| 99热这里只有精品3| 九九热视频首页/这里只有精品| av无码电影| 色情成人五月天| 操人妻AV| 亚洲天堂有码| 中文字幕av在线| 久热69| 久艹久| 亚洲国产网址| 日本操碰碰| 六月婷婷九月丁香| 99五月丁香丁| 麻豆123区| 婷婷五月婷婷五月天| 五月色导航| 色97综合婷婷天天色| 亚洲视频a| 日木狠狠干| 色情综合网| 国产伦理精品高清在线观看网站一区二区 | 色婷婷社区| 天天射综合网夜夜操| 六月婷婷亚洲| 久色| 最近韩国日本免费高清观看| 五月婷婷精品视频| 91精品久久久久久综合五月天| 色啪综合| 夜夜爽天操| 亭亭五月色男人| 婷婷狠狠色| 另类视在线| 久综合色| av操逼网| 91色综合| 五月天,激情四射,婷婷频道| 91欧美| 久久人妻精品| 99久久婷婷五月综合| 成人精品在线| se99视频| 丁香五月影院| 欧美色97| 战争与艾拉电影免费观看| av性爱网站| 99精品免费| 亚洲国产精品VA在线看黑人| 性爱激情小说AV五月丁香花| 五月丁香好婷婷A片网| 久久精品亚洲热| 亚洲性视频| 色婷久久| 婷婷午夜精品久久久| 五月视频日本免费观看| 色综合中文| 亚洲激情综合| 久久久久久激情| 五月天婷婷激情干干| 久久婷婷综合五月趴| 色婷婷综合网站| 国产性av| 成人小说 五月天 婷婷| 中文字幕在线观看视频www| 疯狂做受XXXX高潮A片动画| 99热九九九九| 日韩色色视频www| 99热久草| 98永久精品| 五月丁香日本在线视频观看| 亚洲区视频| 九月丁香婷婷基地| 婷婷色播六月无码| 天天天天天天操| 九一九九黄色| 欧美久久婷婷| 密着浓厚中出乚交尾GvG935| 欧美狠狠草| 伊人玖玖婷婷| 97超级操操| 五月色情网| 色色五月天激情| 欧美日韩国产成人在线| 99热在线这里| 91窝窝| 丁香五色月婷婷网| 亚洲妇女熟BBW| 色狠狠综合| 狠狠草在线观看| 无码激情AAAAA片-区区| sS丁香五月婷婷| 在线天堂9| 日韩国产AV播放| 丁香五月狠狠在线观看| 97天堂| 伦99热| 成人性爱精品视频| www.婷婷五月.com| 看国产探花操逼三级片| 色色热日| AVDV久久| 五月天丁香网| 综合色播| 色婷婷五月婷婷五月婷婷五月| 天天操天天曰| 色久婷婷网| 色色无码| 2w在线视频| 三年高清大片免费观看国语| 中文网av| 五月天狠狠色| 99九九精品| 这里只有精品免费在线视频| www99热| 婷婷在线精品| 青草青草视频2免费观看| 如何安全看伊人婷婷| 久久资源网五月婷| 婷婷五月天 偷拍| 99综合视频| 丁香六月 婷婷六月| 色五月激情网| 五月婷婷二月丁香| 97碰碰在线看视频免费| 天天日天天爽| 五月激情婷婷开心| 超碰免费大香蕉| 婷婷五月综合在线| 99热这里只有精品69| 99久久综合狠狠综合久久| 精品草原久久视频| 99热这里| 99久99久| 91狠狠综合久久| 国产精品久久99| 91日韩在线| 欧美猛片| 婷婷午夜综合| 婷婷色色亚洲| 五月婷婷丁香综合| 色人妻五月| 停停六月 综合| 婷婷五月色情天| www.99热国产| www.97干视频| 51精品国自产在线| AA久久| 狠狠操.com| 影音先锋自拍网| www.五月天婷婷| 九色91国产| 丁香五月天激情综合| 丁香亚洲婷婷五月| 九九色影视| 亚洲精品久久久久久久久久吃药| 激情av在线| 色欲人妻综合aaaaaaaa网| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 天天狠天天叉| 99久久精| 久久久人人操A V| 超碰日日操| 79精品在线视频| 色婷婷影视99| 国产做爰视频免费播放| 久久九九爽| 婷婷五月天少妇| a片在线免费观看一区| 超碰在线人人| 久久丁香五月| 深爱五月日韩| 成人AV在线网站| 五月婷啪| 六月婷婷色色色| 99精品国产在热久久| 欧美色九| 五月天婷婷激情在线色图| 97人人操人人干| 亚洲愉拍99热成人精品| 久久ww| 欧美激情综合色综合啪啪五月| 色婷婷国色天香综合| 大伊香蕉玖玖爱| 亚洲深喉AV| 97在线综合| 日日操人人操| 久久99久久99精品免视看婷婷| 99视频在线播放大全| 色综合色香蕉网| 婷婷五月激情网| 色色五月婷婷久久| 五月婷婷六月激情| 激情小说五月天| 久久这里99| 天天弄天天爽| 婷婷激情丁香五月婷婷激情丁香五月婷婷| 婷婷伊人久久| 综合网色| 婷婷丁香五月av| 99九九精品视频| 91传媒无码人妻精| 色色色色色色五月婷婷| 日本在线wwww| 亚洲有码在线视频| 美女黄频aⅴ视频| 美女91一起草| 五月天久久综合| 亚洲av无码影院| 亚洲黄网在线| 9超碰在线| 99热999| 丁香9月婷婷| 欧美97超碰| 666555。COm毛片| 九九热视频在线观看| 成人在线网址| 色婷婷综合网站| www.激情五月| 色。 日日日| 99re热视频这里只有综合亚洲| 丁香婷婷五月六月久久| 久久无码激情视频| www.人人操人人看人人想人人摸 人人人人操,COM | 色一区高清| 婷婷丁香五月天婷婷| 国产免费一区二区三区三州老师F1F1.CC | 天天综合精品| 精品香蕉99久久久久网站| 九月丁香| 精品欧美性爱超级爽| 成人亚洲精品久久久久| 亚洲av无码精品色午夜| 综合色播| 亚洲五月情| 久久久人妻系列| 亚洲色色香蕉| 狠狠干狠狠色| 黄色网址五月婷婷| 97人操人免费视频| 亚洲五月婷婷在线| 直接看的AV| 五月综合激情网| 久久久性爱视频| www久久久| 99在线观看| 婷婷香草网| 日本少妇AA一级特黄大片| 日本3级片一区2区| 丁香六月视频| 色五月婷婷操逼| 色色五月婷婷| 97涩婷婷| 亚洲区,视频区,视频区免费| 操射国产日本| 开心激情网五月天| 亚洲国产网站| 婷婷爱综合| 九九热这里只有精品在线观看| 综合色色婷婷| 色五月丁香五| 永久无码色| 我要射综合| 久久婷婷婷| 中文字幕丰满孑伦无码专区| 激情人妻综合| 中文在线视频久1| 色吧五月婷婷| 日韩三及成人AV片| 天天射天天射一道本日本社区| 淑女丝袜bi操逼123| 天天干夜夜想| 色婷婷操逼网| 欧洲免费视频色| 婷香五月| 91se在线观看| 久久这里只有国产视频| 日韩成人免费电影| 91婷婷在线| 79色色| www.婷婷| 超碰成人电影| 国产avapp 网| 第五婷婷伊人丁香| 99小视频网站| 色级停停| 亚州日本欧州韩美高青高潮一| 91丨九色丨熟女|老版| 免费无码毛片一区二区A片| 9精品视频在线| 免费试看小视频 99| 人人干av| 色六月丁香婷婷啪啪啪| 日本久久综合| 久久多色| 色婷婷XXXXX| 色五月婷婷亚洲| 激情小说五月天| 99九九视频精彩在线| 青草激情在线| 欧美五月婷婷综合| 嫩草AV久久伊人妇女超级a| 色播五月| 婷婷久久五月| 二色av| 欧美精产国品一二三区| 欧美激情综合色综合啪啪五月| 琪琪狠狠干| www.五月天。com| 色五月激情五月开心五月| 久久 无毛。| www夜夜操com| 熟女啪啪视频| 激情六月婷婷| 久久99精品视频| 亚洲黄色精品| 天天爽在线视频| 97色片| 国产成人网址| 婷婷五月天中文字幕.| 99综合视频| 欧美婷婷丁香五月社区| 26UUU精品一区二区| 婷婷欧美综合| 香蕉婷婷| 九九热99精品| 婷婷伊人视婷婷婷| 超碰成人在线观看| 黄急一级视频| 成年人看Va免费视频| 丁香五月婷婷社区| 99精品在线观看视频| 亚洲九九婷婷| 亚洲天天| 天天日人人爽| 亚洲综合在线网站| 久久久婷婷婷| 丁香婷婷六月天| 五月美女婷婷风骚| 九九热精品| 丁香五月777| 日韩av在线免费观看| 久久久.COM| 91狠狠综合久久久久久| 亚洲XX日本| 婷婷中文综合网| 五月丁香六月激情欧美综合| 色狠狠色| 五月婷亚洲精品| 九月婷婷综合网| 亚洲中文字幕AV| 六月丁香视频网站| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 婷色综合| 五月天综合| 久久这里只有精品16| 一本狠婷婷综合| 色丁香五月天| 激情婷婷五月天在线观看| 五月花激情网| 99国产精品久久久久久久久久久| 五月天成人网在线观看| 婷婷六月丁香在线| 亚洲4区国产欧美| 五月婷婷婷婷| 色播五月| 五月色 亚洲| 午夜九九九九九九| 天天爽天天爽| 色久影院| 久久久五月四色| 99久在线精品99re8热| 欧美va国产va| 亚洲视频五区| 99ri视频在线观看| 欧美激情性做爰免费视频| 日日.c| 婷婷 久综合| 国产免费av网站| 婷婷久草| 激情综合网激情五月天| 天天狠狠色综合| 婷婷操逼| 色色激情五月| 亚洲成人综合网在线免费观看| 久久久这里有精品| 亚洲午夜一区二区| 色久五月天| 婷婷色播色五月五色五月天色妇| 婷婷五月天AV在线| 六月激情网| 激情内射人妻1区2区3区| 五月天操逼网| 精品丁香五月天在线播放| 婷婷丁香五另类网站| 碰碰女| 青青久久五月天丁香婷婷| 婷婷丁香成人在线视频| 婷婷天堂站| se婷97| 中文字幕乱码亚洲精品一区| 99精品在线播放| 午夜成人网站在线观看| 播五月开心婷婷欧美综合| 人人干Av| 色了色综合| 这里只精品| 五月婷婷六月天| 欧美月久久| 日比视频91| 日韩二区搞逼插逼毛片| 国产成人精品一区二三区熟女在线| 97九色| 思思99热| 性生活视频98791| 99re热视频这里只精品| 婷婷涩涩五月天| 久久99久久99精品免观看软件| 99在线免费视| 丁香五月综合图片在线观看| 婷婷婷五月天最新综合你懂的| 亚洲小视频免费看| 五月丁香五月丁香| 五月香蕉婷婷| 男同色五月开心五月激情五月| 又大又粗九一在线| 99热人人操人人操| 丁香青青五月天| 婷婷五月丁香99| 九色1区视频在线| 无码字幕中文| 久久九⑨| 色色色国产| 色五月网址| 国在线激情网| 日日干日日s| 五月丁香av在线| 米奇影视资源777狠狠色婷婷五月天激情网| va中文资源在线观看| 99热在线中文字幕| 天天爽天天爽视频| 99操视频| 嫩草极品| 美欧成人视频| 色婷婷WWW| 丁香婷婷五月天色综合| 成 久久| 五月丁香六月婷婷网| 69久久99精品久久久久婷婷| 五月婷婷五月| av在线免费播放观看| 天天干天天干天天干| 啪色综合| 精品夜夜澡人妻无码AV| 青青日韩| 天天色情站| 99热青青草原| 五月天婷综合| 欧美激情五月天| 免費观看aV在线网址| 丁香五月黄色| 色久在| 亚洲第一精品网站| 99亚州综合精品成人网| 99久久超级| 91精品国产日韩91久久久久久国模| 中文精品在| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 香蕉乱插| 国产精品五月丁香| www.色五月| 97干在线视频| 久热久操久热久草国产91| 精品久久99码| 五月天色丁香| 91操人人操| 97丁香婷婷| 97成人在线视频| 99re在线精品视频| 玖玖资源站蜜臀| 五月天综合在线| 伊人久久丁香狠狠婷婷综合香蕉 | 欧美日韩一区二区三区四区| 五月婷婷六月天| 最新日韩久热免费视频看看| 天天噪夜夜爽| 丁香婷婷色五月| 91人人人人人人人| 91dy.av| 久久多色| 久七香蕉| 热久视频| 婷婷丁香五月综合网| BT综合在线视频观看| 婷婷五月天日日日干干干| 九九re精品视频在线观看| 国产91资源在线| 日本99热| 另类图片色五月| 97操碰日本女人| 99这里只有免费的精品| 99九九精品| 成人在线观看一区| 综合久久六月| 深爱激情综合网| 精品无码久久久久久久久| 色欲丁香| 亚洲综合久| 狠狠九九婷婷韩| 思思热国产| 屁股翘好撅高迎合跪趴| 夜夜涩涩涩| 婷婷丁香五月麻豆| 91九色丨国产丨爆乳| 99视频精品全部观看10| 99热www| 五月久久丁香| 亚洲黄色操逼| 色婷五月天激情| 91免费啪视频| 亚洲小视频| 日韩黄色影院| 五月婷婷综合潮喷| 夜色爱爱亚洲| 色五月婷婷五月| 丁香久久激情俄| 青青草原99热| 激情国产五月| 丁香五月色欲| 99超碰在线免费| 噜噜色婷婷| 99热一本| 九九久久99精品免费观看www| 久久与婷婷| 超碰在线中文字幕| 99狠狠操一| 亚洲综合另类| 激情九月婷婷| 丁香六月AV| 99这里只有精品| 丁香久色| av免费在线观看0| 婷婷五月婷| 久久 中文 日本| 欧美丁香五月| 亚洲五月天,激情视频| 五月激情在线| 开心五月深爱五月婷| 99在线视频操999| www.99热这里只有精品| 99色干| 国产67194| 五月天婷婷乱| 天堂爱啪啪| 99热超碰| 亚洲色色精品| 日本99在线| 一本色道久久综合狠狠躁小说| 丁香综合伊人| 丁香五月熟女| 综合久| 国产在线6| 91在线看片| 五月丁香六月激情综合| 搡BBBB搡BBB搡18| 色播综合| 九九干视频| 99这里有精品久久97| 国产午夜精品AV一区二区麻豆| 久草xx性爱视频| 啪啪夜久久| 91日韩在线| 五月婷婷在线综合| 丁香五月天欧美成人| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | www.婷婷五月| 婷婷五月成人有| 九九Y精品热播| 日韩婷婷| 婷婷丁香激情综合色情| 青青草性爱视频| 色婷婷亚洲综合天堂| 婷婷中文在线| 国产色色色色| 婷婷五月天亚洲色| 色5月婷婷色| 亚洲欧美在线观看| 色综合婷婷| 色色丁香激情五月| 玖玖99福利| 996精品热视频| 六月成人网| 大香蕉久| 99热成人精品网站| 五月九九综合| 亚洲综合五月天| 五月激情婷婷在线| 2020夜夜操天天爽| 人妻狠狠操| 色天堂97| 丁香六月欧美| 五月天综合在线网| 五月丁香激情综合网| 丁香五月天婷婷中文字幕| 激情www.98com| www.99色| 国产精品人妻欲求不满| 五月天激情图片网| 婷婷成人av| 久久AV无码精品人妻系列试探| 99在线热| 丁香九月综合| 人人草人人舔| 极品人妻VideOssS人妻| 欧美色爱五月天| 色五月婷激情| 丁香五月激情性色郤| 六月综和久久| 这里只有精品视频在线观看免费| 另类小说五月天| 丁香五月欧美色综合| 欧美69色| 五月天激情黄色网址| 激情五月婷婷综合网| 亚洲欧洲中文日韩久久AV乱码| 99热6这里只有精品| 色99在线视频| 狠狠爱综合| 色五月天丁香| 婷婷导航| 婷婷九月| 色丁香影院| A久网| 欧美日本一区二区三区| 就爱射中文字幕资源网| 日本在线噜噜| 99视频在线精品免费观看2| 婷婷五月天电影在线| 久久思思热视频| 五月婷婷丁香色播网| 五月婷婷福利| 天天天天天天操| 丁香五月天视频| 色色色在线观看| 五月天婷婷操逼视频| 欧美天堂久久| 精品人妻伦一二三区久| 丁香五月婷婷五月| Av狠狠色丁香婷| 色九月丁香婷婷蜜桃在线观看| 综久久久| 久99综合婷婷| 综合久久婷婷五月丁香| 99色丁香婷婷综合网| 只有久久精品免费| 久久久这里有精品| 中文字幕在线免费观看视频| 色99在线| 在线精品97| 97碰碰电影| 色婷婷操逼| 玖玖99福利| 丁香5月婷婷| 超碰国产在线观看| 丁香五月性| 亚洲xx在线| 97超碰在线免费观看| 伊人久久婷婷| seuuu婷婷| 婷婷五月丁香超碰| 久久99热这里| 九九热在线视频观看| 9精品在线| 亚洲爆乳无码精品AAA片蜜桃| 激情综合五月丁香六月婷婷| 99热青青草| 五月天中文字幕在线婷婷| 成人精品亚洲性爱| 999热这里只有精品| 天天插操| 色色操| www.五月天社区| 色五月综合激情| 99五月香婷婷丁香在线视频| 久久六月天| 性生活久久人妻| 婷婷午夜| 日本三级网址| 能看的AV网站| 丁香五月影院| 一级无码作爱片| 久这里只有精品| 久久九九国产精品怡红院| 丁香五月天视频| 九月综合| 婷婷五月天激情基地| 色色婷婷丁香| 99精品视频偷拍| 亚洲丁香五月| 国产69久久久欧美黑人A片| 日韩肏屄网| 69er小视频| 国内裸舞二区| 日韩综合天堂| 影音先锋综合网| www.五月天婷婷姐姐| 五月综合久久| 激情九月天天天天婷婷| 五月久久丁香| 亚洲情综合五月天| 亚洲va日| 夜夜夜夜夜操| 婷婷黄色| 色欲久久久久久综合网综合网| 丁香五月大香蕉在线99| 色婷婷五月基地在线| 九月婷婷综合| 丁香色六月婷婷| 99热一区| 蜜臀99久久精品久久久久| 激情婷婷六月| 精品人妻在线免费观看| 月婷婷亚洲| 婷婷丁香五月综合| 久久五月婷婷电影| 伊人婷婷五月天| 日本色99| 亚洲无码播放| 五月婷网| 五月婷婷色情| 久激情网| 天天插综合| 色999五月色| 色综合婷婷| 色三级色三级| 99久久久免费| 成人五月天综合网| 日本色婷婷| 天天干,天天舔| 婷婷五月天伊人| 丁香五月天激情婷婷丁香六月| 欧美日韩成人在线| 综合亚洲六月婷婷在线| 婷婷色综合| 九月婷婷综合八月丁香在线观看| 少妇人妻人伦A片| 狠狠色情婷婷| 97搞在线| 开心五月网| 婷婷九月狠狠色| 色五月超碰| 五夜婷婷| 五月天激情国产综合婷婷婷| 热热久久久久久久久| 97一区二区| 久久这里只| 69色婷婷| 26uuu在线观看| 五月色婷婷影视在线电影| 成人中文网| 色色 亚洲| 91凹凸在线| 五月丁香狠狠爱| 南京搡BBBB搡BBBB| 免费一区二区三区| www久久艹| 思思色播| 99热99精品在线观看| 99热精品无码| 任你草| 天海翼中文字幕高| www.激情五月| 婷婷五月丁香综合亚洲 | 青青夜夜狠狠夜夜狠狠| 精品热青草| 欧美Va婷色| 色欲Av五月天| 亚洲婷婷综合视频| 婷婷五月天AV| 日本AAAAAAAAAAAAAA片| 欧美日韩国产一区| 无码少妇高潮喷水A片免费| 色五月婷婷内射| 99自拍网| 天堂在线伊久| 婷婷五月天av| 色丁香五月婷婷在线| 日本99在线视频| 极品人妻VIDEOSSS人妻| 操人妻视频91| 国产99热在线看| 日韩三级视频一区二区| 欧美色婷婷| 99热久久这里只有精品2010| 九九黄色网| 99热亚州综合| 超碰av在线| 99视频精品在线| 中文字幕+乱码+中文字幕在线观看| 另类图片五月天激情| 天天干一干| 婷婷五月丁香六月| 狠狠操天天操综合| 久久久五月五丁香| 日操熟女| 欧美日韩99| 色老久久| 五月婷婷丁香综合网| 精品久色| 久久久久99精品成人网站| 国产SUV精品一区二区883| 91黄操| 5月婷婷五月天| 九九综合精品| 六月婷婷综合| www激情网站| 丁香五月综合狠狠| 婷婷午夜| 超碰成人电影| 久色激情| 婷婷六月五月| 秋霞影音91人妻久久| 99热情这里只有精品在线播放| 婷婷九月在线| 99热人人操人人操| AA片在线观看视频在线播放| 99综合视频| 久久五月激情| 免费看欧美成人A片无码| 色天天综合| 国产又黄又爽又激情不遮挡视频在线观看| 91欧美| 久久性操| 五月天婷婷伊人| 99热999| 久久久五月天婷婷| 五月婷婷黄色网址| 最近免费中文字幕大全高清大全1 色狠狠色噜噜AV天堂五区 | va亚洲中文在线| 五月婷婷免费| 极品 少妇 内射| 中文字幕婷婷五月天| 热九九精品| 丁香五月首页| 婷香五月| 亚洲sesesese| 轮奸综合网| 色很很96| 六月丁香婷婷综合色播| 丁香五月综合高清在线| 五月丁香手机在线| 久久精品性爱视频,| 91婷婷丁香五月天免费视频网站| 五月婷婷综合激情网| 五月天综合久久| 大香网伊人久久综合| 欧美在线干| 国产亚洲99久久精品| 香蕉综合网| tingtingjiqingwuyue| 99色色热| 天天操天天操综合| 99精品久久久久久久婷婷久久| 天天爽天天透天天爱| 97好吊操| 天天日夜夜曹| 日本啪啪网| 97色婷婷| 国产肥白大熟妇BBBB视频| 99国产精品久久久久久久久久久| 全部老头和老太XXXXX| 综合久久十三| 亚洲AV永久无码影院黑人| 啪啪东京热| 五月婷啪啪| 99re思思| www.俺去也com| 国产密乳av一区二区三区四区| 十一月婷婷激情四射| 91在线日| 婷婷成人基地| 婷婷丁香婷婷97| 综合激情在线视频| 玖玖伦理电影| 激情五月天色婷婷| 五月天激情四射网站| 开心深爱激情网| 久久全意婷婷| 91久久五月天| 九九热10| 欧洲激情精品婷婷| 成人av免费观看| 610018岁成人视频| 五月婷婷九| 99爱视频精品在线观看| 久久深爱激情网| 久久婷婷综合国产| 嫩草AV久久伊人妇女超级A| 久久久潮喷-久久久九九-成人AV| 性天堂久久| 婷婷5月天av| 六月份天丁香婷婷| 亚洲激情在线| 亚洲另类毛片| 99在线免费视| 99热只有这里有精品| 91日韩在线| 亚洲区在线| 91久久久久久| 日日夜夜狠狠干| 特级西西4444www无码| 久久99草五月婷婷| 婷婷五月激情网站| 99热激情| 人妻丰满精品一区二区A片| 久久9999| 新激情五月开心五月婷婷五月丁香五月| 五月天激情视频| 日本不卡高字幕在线2019| 五月婷婷九九久久| 五月激情偷拍婷婷| 九九aV| 丁香五月婷婷激情中文| 色五月丁香总合网| 女人被男人吃奶到高潮| 操老逼综合网| 99久久精彩视频。| 色婷婷久久| 丁香五月狠狠在线观看| 色色热99| 婷婷五月激情欧美| 一起操最新网址| 九九热这里有精品23| 97操碰碰无码视频| 婷婷丁香五月天操逼| 狠狠操天天操综合| www.国产色| 91凹凸在线| 五月天啪啪| 五月婷婷六月激情| 色婷丁香五月| 超碰久热| 五月丁香啪啪综合| 开心激情综合| 五月停停99| 亚洲日韩26uuu| 久久亚洲婷婷| 色噜噜狠狠色综合无码久久欧美| 狠狠五月天| 91婷婷丁香五月亚洲| www.爱操com.| 久久九九99| 丁香五月天在线观看视频| 91要啪| 五月久久网| 久久99热在线观看| WWW色色色COM| 激情婷婷五月天在线观看| 无码人妻少妇色欲AV一区二区| 五月天激情国产综合婷婷婷就去爱| www.99精品在线| 婷婷九九视频| 色色亚洲视频| 色五月天丁香婷婷色| 深爱激情五月婷婷| 日韩成人影片在线观看| 丁香五月成人在线| 亚洲色婷婷| 婷婷久久婷婷色五月| 五月天开心网| 青草性爱视频| 内射人妻视频国内| 五月天播播综合| 国产精品A成V人在线播放| 久久婷婷激情五月天一区二区| 婷婷丁香人妻天天爽| 99re这里只有精品99| www.minyis.com【JT】实力收量可预付QQ2101460746 | 久久98| 九九热最新地址| 他改变了拜占庭| www.久久| 五月丁香 啪啪啪| 色啪久 | 中文字幕欧美久久| 狠狠色噜噜狠狠狠狠综合| 婷婷综合五月天| 丁香五月在线观看| 深爱激情九九五月天| 久久性爱99国产| 国产婷婷五月天| 大香蕉人人网| 影视av久久久噜噜噜噜噜三级| 色色爽爽天天| 五月丁香综合啪啪| www.五月婷婷久久.com| 69人人操人人爽| 天堂中文国产| 色综合色综合婷婷热| 国外亚洲成AV人片在线观看| 99热99热| 99视频九九热| 色婷婷电影网| 亚洲色图五月丁香五月婷婷| 噜噜视频| 激情五月天婷婷图| 密着浓厚中出乚交尾GvG935| 五月天网站亭亭| 97久久人人| 欧美成人猛片AAAAAAA| 婷婷久久草| 婷婷色播婷婷| 欧美综合激情| 26uuu丁香婷婷五月| 丁香五月网络网络| 91怕怕网| 丁香六月啪啪| 久久开心五月婷婷| 中美月韩免费A片| 青草青草视频2免费观看| 狠狠做婷婷| 五月丁香婷婷网网网网| 婷婷中文综合网| 久久99视频| 丁香五月天啪啪激情综和网| 色哟哟www| 韩日另类| 久草A片| 热99精品视频| 国产激情久久久| 五月天小说激情| 亚洲色视频| 思思热AV| 亚洲综合色网站| av线电影| 激情内射人妻1区2区3区| 99九九视频| 婷婷伊人五月| 思思热这里只有精品视频666| 五月九九综合| 九月婷婷综合| 男女免费视频999| 天天干天天操天天上| 色色色色色色色色五月先| 色色色色色九九九九九| 久久久久婷婷| 91人操人人人操人| 岛国av电影网站| 婷婷五月丁香六月伊人网| 色婷婷综合成人| 婷婷色综合网日韩国产| 婷婷午夜| 日本超碰在线| 五月天激情丁香| 亚洲婷婷五月天激情综合| 深爱婷婷基地| 色噜噜狠狠色综合成人99| 天天色五月婷婷91久久久久久久| 亚洲五月天激情| 天天爽人人综合免费7799| 停停五月丁香| 色综合综合色| 天天操天天操综合| 丁香五月情色| 亚洲第一成人无码A片| 国产色香蕉精品五夜婷| 五月丁香综合精品欧美| 欧美日韩成人在线| 婷婷色五月天在线观看| 婷婷五月大香蕉| 色婷婷五月在线| 五月精品免费XXX| 最新精品视频99| wwW天天干| 久久激情视频99| 日韩不卡DvD| 日韩另类在线观看| 色婷婷操逼网| 五月亭久久无码视频| 狠狠色综合久久久久| 香蕉久操| 在线成人va| 草草夜夜操| 69超碰在线| 欧洲电影在线观看免费版英语版| 日本99视频| 色婷婷影院| 极品少妇XXXX精品少妇偷拍| 丁香五月成人| 五月天色色网站| 五月丁香色情| 九九在线精品| 大陆极品少妇内射AAAAAA| 午夜少妇在线观看视频| 99ER热精品视频| 国产看真人毛片爱做A片| 人妻丰满精品一区二区A片| 51精品国自产在线| 国产又色又爽又黄又免费| 色伦专区97中文字幕| 操人妻AV| 综合在线观看99| 九月色婷婷婷| 五月亭亭欧美女人| 成人网在线视频| 亚洲天堂爱爱| 激情色中文| 东北婷婷五月天| 青青草原福利在线| 思思热在线播放| 五月天久久网站| 丁香婷婷久久| 国产肥白大熟妇BBBB视频| 97超碰,人人舔,人人操,人人摸| 影音先锋男士资源网一区| 五月天大香蕉AV| 婷婷午夜精品久久久| 五月天日日操夜夜操 | 婷婷五月色播网| 亚洲婷婷五月草久| 五月丁香六月婷婷亚洲视频| www.99热视频| 五月丁香综合啪啪| 嫩草AV久久伊人妇女超级A| 五月综合人妻| 2016日日夜夜操| 九九综合视频在线观看| 另类在线免费视频| 97在线碰| 禁欲电影完整版在线播放| av中文字幕免费观看| 国产操逼网站| 日韩另类| www激情网| 五月丁香啪啪啪| 一级黄色影片| 精品自拍97| 操人91| www久热com| 四虎成人精品永久免费AV九九| 婷婷久久综合| 色色色色色色色色色色色色色五月天| 香蕉国产2013| 丁香五月天五码婷婷| 狠狠爱五月婷婷| 少妇性BBB搡BBB爽爽爽电影| 丁香六月激情国产| 99热精品在线观看| 欧美成人精品一区二区| 精品久久99码| 精品综合网在线| 色色五月丁香| 日韩在线aaa| 激情五月天网| 午夜九九九九九九| 天天日天天插天天操| 天天插AV丝袜中| 久久婷婷色| www久久久久| 五月婷婷和六月| 五月丁香欧美综合| 精品成人在线| 亚洲成人免费电影| 精品人妻久久久久| 人妻久久久久久| 91丨九色丨熟女丰满| 呦呦视频无码播放| 欧美日韩一区二区三区四区| 4438全国最大视频成人网站在线观看| 99re6热在线精品视频播放速度 | 久久久婷婷婷| 婷婷色在线视频| 婷婷六月激情丁香| 色欲色香综合网| 黄久久久| 91久久婷婷人人澡草| 丁香六月激情| 97久久人人| 亚洲综合色网| 99精品综合| 婷婷五月天.com| 99自拍视频| www.五月丁香| 天天爽免费视频| 国产AV影片| 色婷婷色五月另类综合| 久久 婷婷 五月天| .comwww在线观看免费操| 97色色色色色色色色色色色色色| 久久丁香五月天| 亚洲性视频| 日本婷婷色日| 久久婷婷艹| 欧美另类五月激情| 欧美性做爰大片免费看办公室| √天堂资源在线人妻熟女| 色综合色| 久久中国毛毛片爱久久| 五月天堂在线| 江苏少妇性BBB搡BBB爽爽爽 | 三级毛片视频| 狠狠擼综合| 婷婷在线视频| 九九久久99| 久久9视频| 91黄址| 五月丁香福利| 99ri久久| 97在线碰| 成人在线网| 久久性爱视频| 色综合区| 97干在线| 婷婷性爱| 色婷婷五月天| 99这里只有免费的精品| 五月天婷婷色| va中文资源在线观看| 熟女人妻一区二区三区免费看| 色婷婷久久综合久色| 狠狠色丁香| 五月人妻婷婷| 91 影音先锋| 婷婷五点亚洲| 午夜日韩久久久网站| 色色色色色色色色色色色色色97|