1、どこで、キーワードを持ちます
ここで、フィルタ条件文によって、SQLステートメント、グループで使用することができたと一緒に使用することができます。
2つの違い:
代表的には最初の文を使用して濾過し、次いで、濾過によってパケット群の結果を使用ステートメントによってグループの前に場合によって基で使用した(1)。
そして、スクリーニングのためにグループ化された結果、によってグループの後にのみ使用することができ文を持ちます。
式が使用を許可されていない条件(2)の後重合機能を重合関数を使用する必要が唯一のバック有する上にあってもよいです。
運動SQL:クエリ平均スコア未満60点、平均的な学生の名前と学生成績評価点における学生の数- (性能と非パフォーマンスを含みます)
- 学生表 CREATE TABLEを`Student`( ` s_id` VARCHAR(20 )、 `s_name` VARCHAR(20)NOT NULL DEFAULT '' 、 ` s_birth` VARCHAR(20)NOT NULL DEFAULT '' 、 `s_sex` VARCHAR(10)NOT NULL DEFAULT '' 、 PRIMARY KEY ( `s_id`) ) - 成绩表 CREATE TABLE ` Score`( `s_id`VARCHAR(20 )、 `c_id` VARCHAR(20 )、 ` s_score` INT(3 )、 PRIMARY KEY ( `s_id`、` c_id`) )。
SELECT a.s_id学生番号、ROUND(AVG(a.s_scoreは)、2)成績平均点、b.s_name学生の名前 FROM スコアA LEFTは JOIN学生BをON a.`s_id` = b.`s_id` GROUP BY a.s_id 、b.s_name HAVING AVG(a.s_score)< 60 UNIONを SELECT a.s_id学生番号、0成績平均点、a.s_name学生名 FROM 生徒A a.`s_id` ないで、IN(SELECT DISTINCT score.s_id FROMスコア)