mysqlの生徒の成績表の例

mysqlの生徒の成績表の例

#張は、各学生の60以上の学校の番号と名前の最低スコアを問い合わせます

SELECT r.studentno,studentname
FROM result r
INNER JOIN student s
ON r.`studentno`=s.`studentno`
WHERE s.`studentname` LIKE '张%' 
GROUP BY r.`studentno`
HAVING MIN(r.`score`)>60;

#名前とプロの後に「1988年1月1日」での学生の誕生日の名前の問い合わせ

SELECT studentname,m.`majorname`
FROM student s
INNER JOIN major m 
ON s.`majorid`=m.`majorid`;
WHERE DATEDIFF(borndate,'1988-1-1')>0;

#クエリは、各専門家は男の子の数であると女の子の数がはるかにました

SELECT COUNT(*),sex,majorid
FROM student
GROUP BY sex,majorid;

若しくは

SELECT (SELECT COUNT(*) FROM student WHERE sex='男' AND s.majorid=majorid ),
             (SELECT COUNT(*) FROM student WHERE sex='女' AND s.majorid=majorid),
             majorid
FROM student s
GROUP BY majorid;

#お問い合わせやCuishan最低のスコアとして、プロの学生

SELECT MIN(score)
FROM result r
WHERE r.`studentno`IN
(SELECT studentno
    FROM student s
    WHERE s.`majorid` =(
        SELECT majorid
        FROM student
        WHERE studentname='张翠山'
        )
)

#クエリよりも60ポイント学生の名前、パスワード、プロの名前

SELECT studentname,loginpwd,majorname
FROM student s
INNER JOIN major m
ON s.`majorid`=m.`majorid`
INNER JOIN result r
ON r.`studentno`=s.`studentno`
WHERE r.`score`>60;

#各クエリで、メールボックスの数字によって学生の数をグループ化

SELECT COUNT(*)
FROM student
GROUP BY LENGTH(email);

#お問い合わせの学生の名前、プロの名前、スコア

SELECT studentname,majorname,score
FROM student s
INNER JOIN major m
ON s.`majorid`=m.`majorid`
INNER JOIN result r
ON r.`studentno`=s.`studentno`;

#任意のプロの問い合わせは一切の学生は、左と右の接続の実現に接続されませんでした

SELECT majorname
FROM major m
LEFT OUTER JOIN student s
ON m.`majorid`=s.`majorid`
WHERE s.`majorid` IS NULL;  

#学生のお問い合わせ番号が得点しませんでした

SELECT COUNT(*)
FROM student s
LEFT JOIN result r ON s.studentno=r.studentno

WHERE r.idはNULLです。

おすすめ

転載: blog.51cto.com/14437184/2439104