99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜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
返回資訊列表
午夜免费试看| 97热精品| 97婷婷狠狠| 狠狠草狠狠草| 色色狼人综合| 五月天色不卡| 国产精品香蕉| 五月丁香六月停停| 国产精品久久在线观看技巧| 亚洲成人网站在线观看| 99热综合在线| 99玖玖人人| 99在线精品免费视频| 91凹凸在线| 极品 少妇 内射| 免费97碰碰| 日韩精品一区二区三区,四区,五区视频| 日本九九网| 日本激情五月天‘| 激情小说 五月天| 99热自拍| 色婷婷手机在线| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 免費亭亭成人| 欧美天天干五月丁香| 色色色色综合网| 99在线免费视频播放| 五月天婷婷基地| 狠狠操狠狠插| 亚洲 视频 导航 一区| 丁香五月六月激情| 婷婷五月图片小说网| 五月婷婷六月丁香免费| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 九九热视频在线观看| 色播五月天激情| 夜夜躁爽日| 思思色综合网站| 五月激情四射婷婷丁香| 综合色天天| 狠狠看狠狠| 丁香五月激情婷婷| 婷色成人| 精品久久久人妻| 婷婷五月天在线观看免费| 六月婷婷私欲| 婷婷在线激情| 热99在线| 成人做爰A片免费看视频| 色综合久| 婷婷黄色五月| 91蜜桃婷婷狠狠久久综合9色| 国产操B视频| 色播五月天婷婷老师| 免费成人网在线观看| 激情五月婷婷色色| 97中文在线| www.婷婷亚洲基地| 五月深爱婷婷| 五月丁香综合影院| 久热大香蕉| 五月天色图| A片试看50分钟做受视频| 99国产精品久久久久久久久久久 | 狠狠爱综合| 99在线视频播放| 亚洲性爱电影| 六月婷婷七月丁香| 9久热在线视频精品| 伊人激情| 亚洲欧美日韩另类| 天天爽人人综合免费7799| 日韩无码专区| 99这里有精品视频视频| 日本色婷婷| 婷婷91| 欧美啪啪网| 啪啪99| 久久五月丁香婷婷| 中文字幕 中文字幕明步| 日日色综合| 九九热欧美| 五月婷婷色| 日韩AV无码影片| 99热免费18| 激情99| 九九热九九热精品| 欧美精产国品一二三区| 91a片爽| 91久久色| 26uuu欧美激情另类| 五月天com| 开心婷婷五月| 97人人看| jiZZdr| 丁香五月香蕉| 久大香蕉| 99爱视频在线观看这里只有精品| 亚洲成av人影院| 在线sebiav精品视频| 色色五月天婷婷| 五月婷婷五月天亚洲无码| 九热精品| 婷婷丁香五月91| 婷婷激情五月天激情在线| 丁香五月另类小说| 亚洲在线免费成人| 激情小说五月天中文字幕| 六月婷婷啪啪| 五月亭亭直播| 四川BBB搡BBB爽爽视频| wwW天天干| 五月婷婷丁香| 久久婷婷五月综合一| 在线观看熟女少妇| 亚洲综合五月| 天天插天天狠| 99热精品免费| 久热这里只有国产| 婷婷丁香五月亚洲| 久久色情| 99综合视频一体| 欧美久人人| 九九视频在线免费视频| 亚洲V国产V欧美V久久久久久| 亚洲成人另类| 99在线视频资源| 超碰99成人在线| 天天摸夜夜爽天天做| 日韩啪啪视频| 在线五月婷婷小电影| 亚洲综合五月| www.91在线观看| 久久婷婷五月综合伊人| 9精品一区| 色婷五月丁香久亚洲| 99热这里只有精品青草| 天堂婷婷五月在线| 乱岳熟女50岁| 婷婷亚洲在线| 色色综合热| 婷婷六月天激情影院| 99精品视频在线观看| 免费AV播放| 色综合久久99色| 九九中文字幕九| 亚洲色优| 亚洲天堂99| 亚洲精品网址| 亚洲超碰在线| 婷婷五月天直播| 久久激情网| 99久热在线精品| 高清视频一区| 久色成人| 国产婷婷久久| 久热91| 在线中文字幕av| 天天舔天天摸| 美女五月天婷婷| 婷婷色在线| 精品99久久久久成人网站免费| 狠狠做婷婷| 91操色| 国产偷人爽久久久久久老妇APP| 成人超碰AV| 强辱丰满人妻HD中文字幕| 我爱宗和色| 久久五月婷婷综合网| 人人人va亚洲视频在线| 色狠狠综合网| 疯狂做受XXXX高潮A片| 这里只有国产精品在线| 97干视频在线| 国产在线网| 夜夜骑夜夜撸| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 色墦五月丁香| 天天操夜夜爽| 色啪综合| 开心久久网婷婷| 国产97色在线 | 日韩| 六月丁香大香蕉| 99热免费精品| www.五月天婷婷| 久久婷婷综合网| 这里只有精品视频| 殴美日韩成人| 激情五月婷婷综合色播小说| 99自拍视频在线| 亚洲蜜桃精久久久久久久久久久久| 性生活久久朋友人妻| 狠狠色色综合| 五六月婷婷久久| 夜夜躁婷婷AV| 26uuu欧美宗合| www久久久久久久97| 亚洲妇女熟BBW| 五月伊人婷婷| 激情黄色小说五月天| 丁香五月综合无码趴趴| 综合久久五| 色综合久久综合中文综合网| 凹凸操Av| 伊人国产婷婷五月天| 黄久久久| www.com在线操视频免费观看| 九九色热| 色欲婷婷五月天| 思思久久思思| 日本va欧美va精品发布视频| 亚洲精品视频在线播放| 超碰不卡在线| 久草五月婷| 综合色播| 开心五月深爱五月| 五月婷婷六月色| 99视频这里有精品| 五月色综合网| 五月色丁香视频精品| 69热在线| 亚洲色色色色色| 9热在线观看| 婷婷久综合| 色噜噜狠狠色综合日日| 五月丁香啪啪啪| 五月丁香婷婷综合视频| 色色 亚洲| 久色视频首页| 亚洲色婷婷网站| 99热日本| 色五月开心婷婷| 另类A片| 91精品国产综合久久蜜芽解析速度| 亚洲无AV在线中文字幕| 极品人妻VIDEOSSS人妻| 国产精品久久久爽爽爽麻豆色哟哟 | 五月婷婷六月丁香激情深爱| 97色婷婷五月天| 欧美操综合| 91色性感五月婷婷丁香| 婷婷操逼网| 九九久久99精品免费观看www| 国产三级在线播放| 激情亭亭五月| 久久久99视频| 色一情一乱一乱一区91Av| 日韩精品成人在线| 日本不卡中文字幕| 玖月婷婷爱丁香| 欧美色狠婷久| 丁香婷婷免费| 婷婷丁香激情| 综合久久五月天| 九九精品视频在线6| 亚洲激情五月丁香久久久久| 五月天激情网开心网| 丁香五月 六月婷婷首页| 精品99爱免费视频在线观看| 丁香五月激情啪啪| 淫视馆AV在线| 丁香六月五月天| 久久婷婷亚洲| 国产美女无遮挡裸体毛片A片| 在线另类| 国产AV网页| 丁香婷婷老司机久操| 婷婷色资源| 亚洲av电影网站| 色综合色综合色综合| 极品五月天| 综合在线色婷婷| 亚洲精品国产精品乱码视99| 99a级片| 丁香婷婷六月天| 亚洲黄色影视| 亚洲中字AV电影在线网站| 成人国产欧美大片一区| 色婷在线视频| 五月色婷婷在线观看| 九九免费精品在线视频| 可以免费看AV网站| 丁香婷婷色五月| 亚洲综合五月天婷婷丁香| 江苏少妇性BBB搡BBB爽爽爽| 综合久久久婷| 五月激情网五月综合网| 亚洲激情婷婷| 夜夜穞天天穞狠狠穞AV美女按摩| 另类图片五月天婷婷| 中文字幕在线免费| 色色色色色色色色色999| 热思思| 丁香色六月婷婷| 日产精品一线二线三线芒果 | 操草草草| 热久久思思热思思| 九九99热| 欧美天堂久久| 人人视频人人干人人做| 天天综合精品| 伊人综合色干| 狠狠干激情五月| 狠狠色婷婷丁香六月| 五月丁香婷婷啪啪| 色播丁香| 精品国产AV色一区二区深夜久久| 中文AⅤ大全| 极品少妇婷婷五月| 99九九热在线观看| 色97综合婷婷天天色| 熟女五月天久久综合| 久久99久久99精品免观看软件| 丁香激情六月天婷婷| 99热这里只有精品50| 男人的天堂五月丁香| 色丁香五月| 色老久久| 亚洲亚洲人成综合网络| 91n网站cad入口在线观看| 色97啪啪| 欧美欧盟性爱网| 久草五月天电影网| 九九热在线观看视频| 99久在线观看| 中文字幕成人网站| 日韩黄色电影| 天天日夜夜夜操操操操| 99热在线看| 综合色色网| 免费看欧美成人A片无码| 日B日潘金莲BB| 四季AV综合网| 国产精品五月丁香| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 91精产品自偷自偷综合| 色六月丁香婷婷狠狠干| 婷婷六月激情| 五月天色小说| 99精品视频偷拍| 欧美激情 日韩无码 婷婷 五月天| 五月丁香久久久| 91无码高清| 无码AV久久久久久久久| 超碰日日操| 六月丁香婷婷网| 婷婷久久色| 激情综合婷婷| 中文在线成人| 久99久热只有精品国产99| 国产密乳av一区二区三区四区| 激情五月天婷婷五月天| 欧美三级级99久久| 大伊久久| 激情婷婷五月天| 久色大香蕉| 9.1综合网| 色五月婷婷色五月| 色亚洲婷婷| 婷婷十月激情综合网| 久久婷婷色| 玖玖@三月天天丁香婷婷| 啪啪啪大香蕉| 猫咪伊人久久| 激情五月婷婷色色| 色五月天网| 91久久久久久久久久久| 色综合久久综合| 婷色成人| 超碰在线看| 婷婷中文字幕网| 色五月婷婷五月久久| 九九热自拍| 丁香五月婷婷影院| 丁香色五月婷婷91桃色| av国产精品| 九九99在线免费在线观看视频| 新精品99| 97操资源婷婷| 亚洲成人乱码av网站| 狠狠操狠狠操AV| 九9九9无码| 99热只有这里才是精品| 六月成人网| 五月大香蕉| 91丨九色丨丰满人妖| 4399精品一区二区| 五月天成人小说网| 色99欧洲色19| 国产裸舞表演WWWW| 99热草草| 五月婷婷综合精品| 人人操超碰| www.五月婷婷久久.com| 亚洲最大成人综合网720P| 九九蜜臀精品| 99在线精品观看99| 激情 五月 婷婷 丁香| 色欲av伊人久久大香线蕉影院 | 欧日韩AV| 日本三级日本三级99| 亚洲av成人在线| 五月婷婷亚洲色视频| 色婷婷色丁香色欲av| 五月丁香六月婷婷综合网| 9久热| 丁香五月婷婷AV| 五月激情综合网| 婷婷五月天你懂的| 性生活视频98791| 五月丁香激情啪啪网| 亚洲第一精品成人999久久精品| 五月丁香亭亭电影久久| 色色哒五月婷婷六月丁香| 色色综合网www| 亚洲精品久久久久久久久久吃药| 久久久久久久久月丁| 开心激情久久久久久久| 亚洲人成网站999综合| 婷婷之六月丁香| 97人人干视频| 五月婷婷中文字幕| 丁香五月影视| 亚洲综合九九| 久草五月天电影网| 亚洲永远av在线播放| 五月天色婷婷成人| 大香蕉久热| 99激情网| 五月天天天开心激情网| 51精品国内探花| 婷婷五月天小说网| 婷婷久久五月丁香| JAPANRCEP老熟妇乱子伦视频 | 五月婷婷激情网| 五月天婷婷伊人| 婷婷干| 狠狠高潮精品亚洲1| 91人妻人人做人碰人人爽九色| 99狠狠操一| 9色视频在线| 婷婷五六月丁香| 超碰在线50| www.久久av.com| 超碰人人操| 亚洲五月婷婷| 久久成人天| 激情婷婷网| 色婷丁香| 丁香婷婷中文字幕| 色综合激情| 99国产精品久久久久久久久久久| 九九免费视频| 人人草成人视频| 日日干四虎| 99无码精品| 成人噜噜网| 影音 五月 婷婷 久久| 可以看的AV| 九九热欧美| 久久精品一区二区三区四区| 亚洲激情网| 色婷婷成人| 超碰婷婷色| 色五月成人| 丁香六月婷婷综合激情欧美 | 色六月视频| 开心五月婷婷综合在线精品素人| 婷婷五月天丁香| 久久久久久久久人妻| 中文字幕永久免费| Y11111111111少妇电影院| 国产在线黄色| 337午夜福利| 久热九九| 97碰| 欧美成人精品老美女噜噜噜| 九九精品99| www日本熟妇99在线视频| 亚洲成人av在线| 国产精品色一哟哟| 综合狠狠伊人| 91chinese 在线| 久久久亚洲精品一区二区三区浴池| 五月婷婷激情综合| 影音先锋人妻出差| 亚洲成人色五月婷婷综合| 婷婷五月天性爱视频| 国产成人网| 91视频综合网| 色色色.COM| 这里只有视频精品| 九色婷婷| 九九九九大香蕉| 97操资源婷婷| 91肏肏肏| 免费看欧美成人A片无码| www.99精品在线| 狠狠色精品综合| 五月丁香A片| 丁香五月激情综合婷综| 五月色情婷婷| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 无码A片一区二区免费| 日本乱子人伦在线视频| 久久曰曰| 色五月AV| 九九热99热| 深爱五月天| 美英法精品无码免费视频| 青青草a在线| 91超碰九色| 色在线99| 91久久久久久久91| 97五月综合网| 9视频1在线| 79色色色色| WWW.开心五月天.COM| 国产Va视频| 久久色五月| 日本色色色| 最新av在线观看| 91啪啪网| 久久免费操| 五月天久久网站| 无码一级片| 黄色AAAAAAA| 9999热免费视频视频| 无码成人播放器| 国产AV一区二区三区最新精品| 99热综合| 亚洲亚洲人成综合网络| 国产欧美精品AAAAAA片| 一级AV片| 天天视频精品9| 色婷婷亚洲综合网站| 97日本操| 91oumei| bukadeavzaixian| 热久久婷婷| 99热很操老逼| h亚洲| 成人av在线网址| 欧美精品99| 激情小说五月天| 五月天婷婷六月激情网| 婷婷激情六月中文| 久久人妻视步| 五月天婷婷AV| 天天操天天操天天操天天操天天操| 99re思思热久久| 超碰精品在线| 万月丁香狠狠爱| 久草热在线视频| 五月婷婷导航| 五月天偷拍| 三人荫蒂添的好舒服A片| 一级片操逼视频| 九九99精品视品| 9999热精品| 婷婷色五月激情强奸四射| 五月婷婷基地| 久久久久99精品成人片| 日日噜噜夜夜狠狠久久丁香六月| 中文字幕视频在线播放| 少妇大叫太大太粗太爽了A片| 国产一级视频a| 色约约视频一区二区三区四区五区 | 五月天激情网图片 - 百度| 日韩激情人伦人| 五月婷婷丁香瑟瑟视频| 99热这里| 成人在线二区| 激情综合99| 日本本土色网第一区| 深爱激情网噜噜色| 久久婷婷五月综合色奶水99啪| 婷婷五月天在线观看| 91蝌蚪窝视频在线| 久99久精品视频| 激情深愛五月視頻| 天天天干夜夜夜操| 久久草大香蕉| 91精品啪| 六月色色综合| 超碰男人色| 国产精品一区在线观看你懂的| 一区操| 99色热| 好激情在线综合网| 成人丁香五月天| 狠狠色噜噜狠狠狠777奇米| 婷婷网影院| 激情丰满熟妇五月| 日本久久精品18| 少妇人妻丰满做爰XXX| 大天天伊人| 五月天激情色色| 亚洲狠狠婷婷| 日韩av干| 婷婷九月色| 九九99偷拍视频| 婷婷第六色| 五月丁香综合在线| 国产精品久久久久久喷浆| 曰曰久久| 九九热这里| 亚洲精品无AMM毛片| 99综合一区| 丁香五月乱中文字幕| 五月天激情丁香| 久久九九婷婷| 五月天久久www| 天天干夜夜想| 大香蕉九九热| 狠狠做婷婷| WWW.久久.COM| 五月天激情综合网站| 婷婷激情综合| 九色综合网| 噜综合| 另类激情五月| 五月丁香婷婷啪啪综合| 欧美啄木乌丝袜人妻系列| 91久久婷婷| 91婷婷在线| 99久视频| 96色婷婷| 大陆肏屄视频| 久久全意婷婷| 亚洲成人电影aaaa| 五月丁香成人网| 色婷婷影院| 任你日视频| 小泽玛利亚视频一区二区| 亚洲成人乱码av网站| 在线只有精品| 亚洲激情无码久久| 亚洲高清在线| www.天天色综合| 亚洲av网站| 欧美啪啪9| 99激情| 大香婷婷| 精品久久这里热66| 亚洲午夜Av| 99色视频在线| 丁香五月大香蕉AV| 日本天天操| 久久天堂婷婷五月| 人人草人人舔| 久久婷狠狠色| 六月婷婷激情| 91碰碰| 九九精品热| 天天干,天天舔| 五月婷激情| 人人色人人摸人人看| 99热综合| 婷婷五月精品在线| 97午夜一区二区| 26uuu另类亚洲欧美日本一| 欧美日韩婷婷五月天| 99热这里只有的精品视 | 日本97人人| 五月婷婷激情综合网| 97偷拍对白视频| 色色色色色色色色网站| 无码色综合| 色九亚洲| 天天爽天天爽天天爽天天爽天天爽| 亚洲色网络| 99re久热只有精品6在线直播| 秋霞免费视频| 99re这里只有精品在线观看| 日本理论久久| 9l视频自拍九色9l视频自拍九色9l社区 | 激情五月天啪啪| 五月丁香婷婷在线| 五月天色婷伊人| 色婷婷网大全在线| 精品人妻一区| aaaaa不卡| 99精品国产乱码久久久人妻| 中文字幕婷婷五月天在线观看| 中文字幕不卡视频| 五月停亭六月,六月停亭的英语| 亚洲性受XXXX五月丁香| 国外亚洲成AV人片在线观看| 自拍盗摄 另类| 久久免费操| 九九热在线精品视频| 天天操夜夜爽| 色色色综合色| 日本熟妇乱妇熟色A片蜜桃| 五月婷婷久草在线视频综合| 熟女网站久久| 欧美成人一区二区三区在线视频| 开心五月网| 色情婷婷| 色五月美女| 另类专区在线观看| 五月天婷婷永久免费视频| 五月激情婷婷国产精品久久久久久| 久久综合99| 综合五月激情网| 成年人夜夜喷水| 大地资源色婷婷视频在线| 九九九九这里只有精品| 俺来也综合网精品一区| 91人无码久久久久久| 久久只有18视频| 激情小说 五月天| 欧美熟女99| 99色人| 99激情在线| 久久久久99精品成人片| 91碰视频| 热久久这里只有三级视频| 这里只有精品免费视频| 丁香五月婷婷影院| 丁香六月天AV| 六月色播| 久久婷婷五月综合网| 26uuu在线观看| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 日日操日日干| 日本三级大片| 任你日热视频| 九色亚洲| 国外亚洲成AV人片在线观看| 91视频五月丁香| 色婷婷亚洲在线| 五月丁香综合啪啪| 182TV大香蕉| 99热香港| 国产精品第一国产精品| 午夜色婷婷| 丁香婷婷噜噜| 另类图片婷婷五月天| 丁香九月综合| 色五月超碰| 日韩精品99久久| 深夜婷婷 丁香| 99精品视频网| 久99久在线| 激情六月天婷婷| 丁香五月网在线观看| 激情综合4月| 久久久久久久97| 99久久精彩视频| 丁香五月瑟瑟| 国产AV影片| 色色色999| 久久久18| 91玖玖| 五月丁香六月激情| 天天干天天射色综合| 思思热99在线| 天天摸日日舔狠狠添婷婷婷 | 婷婷激情五月天网站| 色婷婷色情| 丁香五月123| 大香人妻| 一区操| 日操夜操天天操不卡| 碰97 久| 三人荫蒂添的好舒服A片| 五月婷婷综合视频| 五月天开心网| 色噜噜综合网| 91狠狠综合久久久久久| 中文字幕在线免费观看视频| 久久九九综合| 婷婷五月丁香基地| 久久免片| 日韩无码专区| 五月婷婷激情综合| 综合网色| 日本欧美成人片AAAA| 深爱五月婷婷| 成熟妇人A片免费看网站| 婷婷五月天影院| 三男玩一女三A片| 少妇AB又爽又紧无码网站| 欧亚成人A片一区二区| 国产精品人人做人人爽人人添| 99色在线| 七七婷婷综合| 综合久久十| 婷婷黄色五月| 久久伊人9| 五月婷婷久久久| 综合五月草| 这里只有精品视频国产| 五月婷无码| 中出内射的人妻视频| 天天爱夜夜爽| 久草a片| 伊人久久婷婷| 五月丁香激情综合| 97超碰婷婷五月天| 96色婷婷| 婷色五月天| 激情五月深爱五月观看| www.狠狠操.con| 色狠狠综合入口| 婷婷婷久久久| 丁香九月激情| a免费在线| 婷婷五月天AV在线| 天天色天天爽| 26UUU精品一区二区Com| A1片久久| 精品在线网站| 就爱啪啪婷婷| 99热精品中文字幕| 丁香五月电影| av操逼网| 2016日日夜夜操| 五月婷婷丁香成人网| 久99久热只有精品国产99| 性色五月天| 久久久久人妻| 99操不停| 九九热超碰| 丁香五月天啪啪激情综和网| 丁香五月色网| 国产做爰视频免费播放| 人操人| 色婷婷五月综合| 五月丁香婷中文| 操逼巨乳91| 亚洲色色色| 成人短视频免费观看| 六月丁香婷婷视频综合在线观看| 丁香五月冃欧美| 久久精品视频99| 五月天婷婷色播综合在线| 六月婷婷啪啪| 全国最新疫情| 99热这里都是精品| 99精品丁香五月| 热久久91| 五月色天情| 天天干夜晚夜操| 丁香婷婷老司机久操| 99色综合网| 日本色视| 欧美精品在线观看| 97操视频| 丁香五月婷中字幕| 亚洲乱码日产精品BD| 色五月婷婷五月天激情综合| 丁香五月婷婷六月婷| 亚洲情色一区| 伊人九九九久| 99高级会所久久| 五月婷婷天堂| 九热视频在线伦| 国产色色网站网址| 久操福利| 日美三级| 26uuuu精品一区二区| 91久久久久久久久| www久久久久久| 天天摸日日舔狠狠添婷婷婷| 色五月丁香网| 婷婷久久五月天亚洲欧美国产日韩在线观看| 9999热在线观看| 三级成人网站| 国产欧洲欧洲精品久久| 五月丁香久久综合色| 久久久区区一久久久久久| 亚洲热久久| 91日韩美女被插视频| 玖玖资源天天无码| 青草视频在线观看视频| 成人AV在线网站| 九九在线精点品| 丁香狠狠色婷婷久久无码视频| 激情文学天天| 五月天成人小说| 97色永久免费视频| 五月天com| 久久99草五月婷婷| 五月婷在线色视频| 精品一区二区三区免费毛片爱| 日日噜噜夜夜狠狠久久丁香六月| 91精品久久久久、久五月天| 91黄色五月天视频| 天天射射夜| 五月婷在线| 欧美va亚洲va| 婷婷深爱五月天| 第四色激情网| 色婷婷综合视频| 一本久道综合99| 婷婷五月天AV| 五月婷婷丁香六月| 日本色色网站| 亚洲婷婷五月| 午夜婷婷久久 | 伊人五月婷婷| 久久久久久久久99精品| WWW久| 色综合色综合色综合色综合| 伊人成综合五月婷婷| 色色COm| 激情婷婷黄色五月| 99爱视频在线观看这里只有精品| 丁香五月激情五月色综合| 天堂AV在线看| 97自拍视频网| 激情五月婷婷丁香| 婷婷丁香五月天熟女丝袜| www.99热视频| 小色小蛇伊人婷婷色香五月| 97碰人人操| 久久狼人天堂| www久久久| 亚洲精品乱码久久久久久按摩观| www.狠狠操| 激情五月天开心网丁香无码| 国外亚洲成AV人片在线观看| 五月丁香久久激情网| 潘金莲AAAAAAAAAA| 天天综合亚洲| 国产精品色婷婷久久久精品| 伊人久久大香线蕉av一区| 丁香五月综合婷婷| 九久9精品| 国产丁香五月天婷婷| 8050一级网| 深爱激情综合网| 婷婷色五月激情强奸四射| 天天操无码| WWW丁香五月| 新激情婷婷| 婷婷伊人网| 久久精品63| 婷婷丁香六月天| 日日射天天射| 婷婷黄色五月| 日本色道视频网站| 精品婷婷五月视| 91在线视频观看午夜福利| 日日干天天| 丁香六月婷婷| 婷婷D区| 久久这里有精品| 国产99久久久| 久久小说| 婷婷丁香人妻天天爽| 综合色99| 国产真实乱对白精彩| 五月丁香成人视频| 99热只有精品综合| 操老逼综合网| 看全色黄大色大片| 久久黄色免费视频| 国产超碰av| 婷婷六月色| 99热这里只有精品 搜| 91日日日| 曰韩少妇内射免费播放| 婷婷色五月天在线| 国产伦理精品高清在线观看网站一区二区| 熟女少妇内射日韩亚洲| 激情网五月天| 激情丁香淫荡婷婷| 九九99男女视频在线观看| 91丨九色丨43老版熟女| 婷婷丁香五月天亚洲| 婷婷少妇激情| 婷婷丁香五月天综合激情| 五月色丁香| 色五月婷婷开心| 97操碰碰无码视频| 久久婷婷五月综合色欧美| 另类A片| 婷婷五月天首页| 色~性~乱~伦~噜| 午夜微拍福利| 丁香婷婷色五月| 五月伊人婷婷| 插插插丁香五月婷婷| 欧美啪啪五月天| 久久香蕉网| 猫咪伊人久久| 青草激情在线| 九玖视频这里只有精品| 无码一级片| 国产偷人爽久久久久久老妇APP| 青青草原伊人网| 99九九视屏| 噜噜噜噜噜久| 亚洲AV无码成人精品区电影网| 风流少妇A片一区二区蜜桃| 五月天天天天天天天天天天天婷婷婷| a v色婷婷| 丁香六月色婷婷| 99ri国产精品| 无遮挡国产高潮视频免费观看| 五月丁香av中文| 五月天网站亭亭| 伊人超碰| 五月六月播婷婷| 99啪啪网| 激情婷婷22月间| 欧美成人精品A片免费一区99| 久热成人| 丁香五月天之婷婷影院| 婷婷丁香五月天狠狠| Xx色综合| 久婷五月| 色狠狠999综合| www.色情五月天.com| 麻豆观看夏晴子| 狠狠操狠狠爱| 91中文在线| 91丨九色丨白浆秘| 五月天开心网| 亚洲成人在线五月天| 天天插天天干天天舔| 天天爱天天做天天舔| 丁香婷婷久久| 色射影院| 超碰超碰在线| 91久久精品无码一区二区三区| 97久操视频| 99日视频在线| 五月天婷婷激情四射综合| 婷婷丁香熟女| 丁香五月五月婷婷欧美大香蕉| 色婷婷亚洲婷婷| 日本三级中国三级99人妇网站| 97香蕉久久超级碰碰高清版 | 26uuu激情五月天| 色五月天中文字幕| 色色99色色| 激情com| 激情五月天综合网站网站网站| 91久久久久久| 91久久婷婷| 狠狠做五月| 九九99在线观看视频| 丁香六月婷婷综情欧美| 99五月丁香丁| 五月丁香手机在线| 丁香五月天色综合| 久热这里这里有精品| 色欲婷婷夜夜| 久色成人| 狠狠操.COM| 亚洲第一视频 久久| 久久婷婷色五月| www.深爱激情| 婷婷五月天电影网| 热99在线精品| 玖玖无码中文| 亚洲激情五月| 激情五月综合| 亚洲欧洲中文日韩久久AV乱码| 色五月激情五月| 综合久久五| 人妻中文字幕精品| 丁香五月AV| 99热精品在线播放| 琪琪秋霞| 深爱五月亚洲| 色五月女| 亚洲乱码w在线观看| 久久亚洲婷婷| 色色色综合网| 曰韩五月丁香色婷婷无码| 丁香五月天堂亚洲社区| 大香蕉人人人| 激情综合色| 天天插夜夜爽| 六月合五月婷| 五月婷精品| 高清一区二区三区日本久| 婷婷在线五月综合| 嫩草视频观看| 无码四色色色| 欧美另类五月激情| 激情综合激情综合| 色婷婷狠狠| 超碰人妻公开在线| a色婷婷| 色婷婷五月影视| 五月婷婷婷自由综合| 日韩综合久| 久久久激情| 婷婷五月综合免费在线| 原琪琪色影院| 六月丁香深深爱| 天天狠狠夜夜狠狠2023| 日本99热| 97超级碰人人| 九九色色网| 无码激情精品色婷婷久久久久| 五月丁香六月色| 婷婷五月天色播| 久久五月天影院| 色琪琪一综合久久激情五月视频| 99re在线观看视频| 99视频精品在线| 天天狠天天叉| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 婷久看人爽| 五月天堂六月丁香亚州中文字幕久久| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 五月婷婷伊人久久| 五月婷婷九九热| 国产美女无遮挡裸体毛片A片| 天综合日日夜综合7799| www.久久| 久久久这里有精品| 婷婷五月影院| 视频在线免费观看欧洲乱码| 婷婷成人网五月天| 激情五月天开心总和网| 激情五月天影院| 日韩精品无码AV| 精品国产人人爱人人| 婷婷99狠狠| 三级毛片视频| 九月婷婷久久| 激情欧美五月丁香| 久久怡红院| 色噜噜狠狠色综合成人99| 狠狠草综合网| 五月婷婷丁香| 五月丁香婷婷成人版| 日夜夜天天| 深爱五月婷婷| 金品在线视频99| 深爱激情久久| 涩涩涩五月天| 五月天激情啪啪| 激情综合色五月丁香六月亚洲| 日本五月婷婷| 超碰国产av| 久色国产| 国精产品一区一区三区免费视频| 国产av基地| 噜噜精品| 色吧婷婷五月亚洲| 色色日韩| 人人操AV| 69色婷婷| 岛国AV网站| 精品欧美性爱超级爽| 丁香丁婷五月激情| 色狠狠综合网| 婷婷五月激情五月丁香五月| 狠狠久综合| 欧美大肥婆大肥BBBBB| 9久精品视频| 九九性爱网| 丁香五月成人自拍| 开心五月婷| 久久久99精品免费观看| 五月天狠狠网站| 99九九在线| 98色花堂98t.R| 日本va欧美va国产激情| 久久加勤综合| 色五月五月天| 亚洲综合激情五月久久| 这里只有精品视频222| 97干欧美| 五月天伊人综合| 性色五月天| 99热大| 激情久久综合网| 狠狠色丁香乆乆| 操逼123网| 亚洲精品V天堂中文字幕| 国产又爽又猛又粗的视频A片| 天天噜噜| 久久99婷婷| 亚洲操人| www激情| 午夜丁香婷婷| 狠狠综合| 五月婷婷香| 99热乎| 91一起操| 免费的日逼视频| 亚洲色色色| se99在线| 日韩黄色影院| 激情综合网 激情五月天| 久久五月婷综合| 五月丁香六月香综合激情| 香蕉视频性爱BB做爱| 人人操人人爱丁香五月| 成人小说色图婷婷五月| 婷婷色丁香六月| 综合 蜜月 婷婷| 99看片| 毛片新网地| 五月丁香激情啪啪| WWW色综合| 色伦专区97中文字幕| www.夜夜騎夜夜狠| 极品五月天| 少妇人妻人伦A片| 大香蕉网站,大香蕉综合| 久久久www| 精品无码av丁香五月激情| 亚洲精品V天堂中文字幕| 五月婷婷综合色啪首页| 九九热狼人| 丁香五月婷婷六月丁香| 久草视频一,二三四| 精品人妻一区二区三区四区不卡在| 做爱夜夜干天天操| 亚洲愉拍99热成人精品| www,99热| 九九色之九九色88| 欧美日韩aaa| 色五月色综合| 丁香五月婷婷亚洲激情四射| 亚洲AV日韩无码| 亚洲激情校园| 中文字幕丰满乱孑伦无码专区| 五月亭亭狠狠| 色婷婷基地| 精品亚洲国产成AV人片传媒| 99成人精品视频| 久久久99免费视频| 五月丁香综合啪啪| 天天舔天天插天天干| 97操碰人人| 九九这里有精品| 五月丁香色狠狠干大屄| 日韩无码性爱| 日日夜夜婷婷| 亚洲99视频| 天堂久久性| 五月天婷婷影院| 婷婷五月丁香基地| 97干在线视频| 欧美色激情四射| 97碰碰在线观看视频| 开心久久五月天| 婷婷中文综合网| 日韩操人| 国产精品久久久丁香五月八戒视频| 五月丁香毛片| 色播五月丁香| 五月天伊人网| 日本激情ⅩXX免费视频| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 少妇人妻人伦A片| 色偷偷五月天| 狠色狠色狠狠色综合网| 91九色无码内射| 午夜天堂啪啪| 天天操综合网| 婷婷五月天六月综合| 五月 激情视频|