MySQL で 3 つのリレーショナル テーブルを作成する方法

WBOY
リリース: 2023-05-30 23:10:04
転載
2458 人が閲覧しました

1.生徒テーブルの作成

create table tbl_stu (

id int not null primary key auto_increment,

name varchar(45) not null

)engine=innodb default charset=utf8;
ログイン後にコピー

MySQL で 3 つのリレーショナル テーブルを作成する方法

2.科目テーブルの作成

create table tbl_sub (

id int not null primary key auto_increment,

subject varchar(45) not null

)engine=innodb default charset=utf8;
ログイン後にコピー

MySQL で 3 つのリレーショナル テーブルを作成する方法

3.スコアテーブルの作成

create table tbl_scores(

id int not null primary key auto_increment,

stu_id int,

sub_id int

score decimal(5,2),

constraint sco_stu foreign key(stu_id) references tbl_stu(id),

constraint sco_sub foreign key(sub_id) references tbl_sub(id)
);
ログイン後にコピー

MySQL で 3 つのリレーショナル テーブルを作成する方法

4. データを挿入

insert into tbl_stu values (0,"小王");
insert into tbl_stu values (0,"小宋");
insert into tbl_stu values (0,"小李");


insert into tbl_sub values (0,"语文");
insert into tbl_sub values (0,"数学");
insert into tbl_sub values (0,"英语");


insert into tbl_scores values (0,1,1,90);
insert into tbl_scores values (0,1,2,70);
insert into tbl_scores values (0,1,3,82);

insert into tbl_scores values (0,2,1,95);
insert into tbl_scores values (0,2,2,70);
insert into tbl_scores values (0,2,3,84);

insert into tbl_scores values (0,3,1,85);
insert into tbl_scores values (0,3,2,86);
ログイン後にコピー

5. すべてのスコアをクエリ

select s3.name,s2.subject,s1.score from tbl_scores as s1

inner join tbl_sub as s2 on s1.sub_id = s2.id

inner join tbl_stu as s3 on s1.sub_id = s3.id;
ログイン後にコピー

MySQL で 3 つのリレーショナル テーブルを作成する方法

6.学生の平均スコアをクエリします

select s3.name,avg(s1.score) from tbl_scores as s1

inner join tbl_stu as s3 on s1.sub_id = s3.id

group by s3.name;
ログイン後にコピー

MySQL で 3 つのリレーショナル テーブルを作成する方法

7.合計スコアランキング

select s3.name,sum(s1.score) as s from tbl_scores as s1

inner join tbl_stu as s3 on s1.stu_id = s3.id

group by s3.name order by s desc;
ログイン後にコピー

MySQL で 3 つのリレーショナル テーブルを作成する方法

以上がMySQL で 3 つのリレーショナル テーブルを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート