查詢前的表瀏覽:
1. 查詢「1」課程比「2」課程成績高的所有學生的學號
select sc1.sid from sc sc1 join sc sc2 on sc1.sid=sc2.sid where sc1.score>sc2.score;
說明:在針對同一關鍵字下的不同專案 可以將一張表利用取別名的方法出現兩張表,使得查詢不至於混淆。
2. 查詢所有同學的學號、姓名、選課數、總成績
select student.sid,student.snam,count(cid),sum(score) from student left join sc on
student.sid=sc.sid group by student.sid;
說明:sc的表中sid並不是唯一的,所以要用group by 使得sc被分成以sid為依據的幾個小組;
3.查詢姓「李」的老師的個數
4.查詢沒學過「葉平」老師課的同學的學號、姓名
說明:由於老師姓名是在表teacher中姓名在表student中,兩者之間需要表sc,course來關聯,所以要用到四張表查詢;
5.查詢學過「1」並且也學過編號「2」課程的同學的學號、姓名
6.查詢學過「葉平」老師所教的所有課的同學的學號、姓名
7.查詢所有課程成績小於60分的同學的學號、姓名
說明:查詢所有課程小於60分比較複雜,所以實際操作取對立集合
8.查詢沒有學全所有課的同學的學號、姓名
說明:因為在表sc中每個sid下的課程有重複,如果只用count(cid)總是查不到沒有學全所有課程的同學;
9.查詢平均成績大於60分的同學的學號和平均成績
mysql經典案例
使用sql語句建立資料庫,名稱為customdb 答 create database if not exists customdb 建立資料表customer 客戶 deposite 存款 bank 銀行 表結構如下 建立表,如下 答 建立顧客表 create table ifnot exists ...
mysql子查詢應用案例 MySQL子查詢
mysql子查詢 子查詢 sub query,查詢是在某個查詢結果之上進行的,一條select語句內部包含了另外一條select語句。分類子查詢有兩種分類方式,分別為 按按結果分類和位置分類。按結果分類,即根據子查詢得到的資料進行分類 理論上,任何乙個查詢結果都可以理解為乙個二維表 分別為 標量子查...
mysql 查詢優化案例計算
有表takeout goods,id是自增主鍵,shop id是普通b 樹索引,其他欄位本案例用不著 語句如下 語句1 explain select from takeout goods where shop id 7691005 對於這條語句,查詢優化器有兩種走法,一種是去主鍵索引走全表掃瞄,另一...