Petits exercices MySQL (convient uniquement aux débutants, les non-débutants ne sont pas autorisés à participer)

  Page d'accueil personnelle
 : Colonnes de la série de la page d'accueil personnelle : Base de données MySQL

Haha, c'est le devoir assigné par notre professeur, je me demande s'il faut l'utiliser ou pas pour poster un blog ?

Enfin, j'y ai pensé et postons-le. Bien que ce soit très simple, cela peut être pratiqué pour ces amis qui apprennent juste les bases de données. Parce qu'il n'y a pas de réponse, je ne sais pas si c'est vrai ou non. Si quelqu'un trouve une erreur, merci de le signaler.

 sujet:

  1. Vérifiez le numéro d'étudiant, la classe et le nom de chaque étudiant
  2. Retrouvez toutes les informations sur le stage
  3. Rechercher quelles classes professionnelles sont dans la base de données
  4. Demander des informations sur les cours avec plus de 60 heures de crédit
  5. Interroger le numéro d'étudiant, le nom et la date de naissance des étudiants nés en 1986
  6. Interroger le nombre d'étudiants et de cours dont les scores sont supérieurs à 80 pour trois devoirs
  7. Interrogez le numéro d'étudiant, le nom et la classe principale de l'étudiant surnommé Zhang
  8. Interroger les informations des garçons en 05e année
  9. Interroger les identifiants d'étudiants et les identifiants de cours sans notes de devoirs 

  10. Interroger la note totale du devoir 1 de l'élève dont le matricule est 0538

  11. Interroger le nombre d'étudiants qui ont suivi le cours K001 

  12. Demander combien de classes sont dans la base de données

  13. Interroger le numéro d'étudiant et la note moyenne du devoir 1, la note moyenne du devoir 2 et la note moyenne du devoir 3 pour les élèves qui suivent trois cours ou plus (dont 3 cours)

     

 

 

 

 

 

Peu importe si les amis sont basés sur 0, regardez le blog suivant, puis répondez aux questions.

 La dernière fondation MySQL en 2022

1. Créer une base de données

create database  if not exists  db2 ;

 

Ok, la création est réussie, alors on ouvre la console 

 

2. Créez le tableau

1. Créez une table d'étudiants

analyser:

ID étudiant : type de caractères

nom : personnage

gender : type de caractère gender est un mot donc varchar(1)

Classe professionnelle : type de caractère

Date de naissance : type d'heure date 

Numéro de téléphone du contact : numéro de téléphone en caractères à 11 chiffres varchar(11).

 

 

drop table if exists student;
create table student
(
    id     varchar(10) comment '学号',
    name   varchar(10) NOT NULL comment '姓名',
    gender char(1) comment '性别',
    class  varchar(20) comment '专业班级',
    date   date comment '出生日期',
    iphone varchar(11) comment '联系电话'
)
    comment '学生表';

select * from student;

 

2. Créez un horaire de cours

 

 

drop table if exists student_course;
create table student_course
(
    course_id     varchar(10)  comment '课程号',
    course_name   varchar(15) comment '课程名',
    course_number double unsigned comment '学分数',
    student_time  int unsigned comment '学时数',
    teacher       varchar(10) comment '任课教师'
)
    comment '课程表';
select *
from student_course;

 

3. Feuille de travail de l'élève

 

drop table if exists student_homework;
create table student_homework
(
    course_id  varchar(10) comment '课程号',
    id      varchar(10)    comment '学号',
    homework_1 int comment '作业1成绩',
    homework_2 int comment '作业2成绩',
    homework_3 int comment '作业3成绩'

)
    comment '学生作业表';
select *
from student_homework;

 

3. Ajouter des données

Tapez-les un par un selon les données sur l'image, woo woo woo

 1. Table des étudiants

insert into student
values ('0433', '张艳', '女', '生物04', '1986-9-13', null),
       ('0496', '李越', '男', '电子04', '1984-2-23', '1381290xxxx'),
       ('0529', '赵欣', '男', '会计05', '1984-1-27', '1350222xxxx'),
       ('0531', '张志国', '男', '生物05', '1986-9-10', '1331256xxxx'),
       ('0538', '于兰兰', '女', '生物05', '1984-2-20', '1331200xxxx'),
       ('0591', '王丽丽', '女', '电子05', '1984-3-20', '1332080xxxx'),
       ('0592', '王海强', '男', '电子05', '1986-11-1', null);

 Vérifiez-le:

select * from student;

 

 

2. Horaire des cours

 

INSERT INTO student_course
values ('K001', '计算机图形学', 2.5, 40, '胡晶晶'),
       ('K002', '计算机应用基础', 3, 48, '任泉'),
       ('K006', '数据结构', 4, 64, '马跃先'),
       ('M001', '政治经济学', 4, 64, '孔繁新'),
       ('S001', '高等数学', 3, 48, '赵晓尘');

Vérifiez-le:

select *
from student_course;

 

3. Feuille de travail de l'élève

 

 

insert into student_homework values
('K001','0433',60,75,75),
('K001','0529',70,70,60),
('K001','0531',70,80,80),
('K001','0591',80,90,90),
('K002','0496',80,80,90),
('K002','0529',70,70,85),
('K002','0531',80,80,80),
('K002','0538',65,75,85),
('K002','0592',75,85,85),
('K006','0531',80,80,90),
('K006','0591',80,80,80),
('M001','0496',70,70,80),
('M001','0591',65,75,75),
('S001','0531',80,80,80),
('S001','0538',60,null,80);

Vérifiez-le:

select *
from student_homework;

 

 

4. Commencez à poser des questions

1. Vérifiez le numéro d'étudiant, la classe et le nom de chaque étudiant

 

select id,class,name from student;

 

2. Vérifiez toutes les informations du cours

 

select *
from student_course;

 

 

3. Requête quelles classes professionnelles sont dans la base de données

 

select  class from student;

 4. Renseignez-vous sur les cours avec plus de 60 heures de crédit

select course_id,course_name from student_course where student_time>60;

 

 5. Interroger le numéro d'étudiant, le nom et la date de naissance des étudiants nés en 1986

select id,name,date from student where date>=('1986-1-1') AND date<('1987-1-1');

 

 

 

 6. Renseignez-vous sur le numéro d'étudiant et le numéro de cours des trois scores de devoirs supérieurs à 80 points

 Au début, j'ai utilisé à nouveau cette requête:

select * from student_homework where homework_1>80 and homework_2>80 and homework_3>80;

J'ai trouvé qu'il n'y avait rien, alors j'ai regardé les données et j'ai trouvé qu'il n'y avait pas de telles données pour trois scores de devoirs supérieurs à 80.

Par conséquent, la question : "Enquête sur le numéro d'étudiant et le numéro de cours avec un score de 80 ou plus dans trois devoirs" doit inclure 80 points

Alors, je le modifie :

select * from student_homework where homework_1>=80 and homework_2>=80 and homework_3>=80;

 

 

7. Interrogez le numéro d'étudiant, le nom et la classe principale de l'étudiant surnommé Zhang

 Exemple d'erreur :

Comme je n'ai pas écrit SQL depuis des centaines d'années, j'ai en fait écrit (me gifler):

select id,name,class from  student where name = '张%';

select id,name,class from  student where name like '张%';

 

 ​​​​​​​

 

 8. Interroger les informations des garçons en 05e année

 

select * from student where class like '%05' and gender='男';

 

9. Interrogez le numéro d'étudiant et le numéro de cours sans notes de devoirs 

 

select id,course_id from student_homework where homework_1 is null or homework_2 is null or homework_3 is null ;

 ​​​​​​​

 

 

 10. Interroger le score total du devoir 1 de l'élève dont le matricule est 0538

 

select sum(homework_1) '总分' from student_homework where id='0538';

11. Interrogez le nombre d'étudiants qui ont suivi le cours K001 en option 

 

select count(*) from student_homework where course_id='K001';

 

12. Requête combien de classes sont dans la base de données

 

select count(*) from student where class is not null ;

 

13. Interrogez le nombre d'étudiants et le score moyen du devoir 1, le score moyen du devoir 2 et le score moyen du devoir 3 qui ont suivi trois cours ou plus (dont 3 cours)

select student.id, avg(homework_1), avg(homework_2), avg(homework_3)
from student
         left join student_homework on student.id = student_homework.id
group by student.id
having count(course_id) >= 3;

 

 

Je suppose que tu aimes

Origine blog.csdn.net/Javascript_tsj/article/details/124350331
conseillé
Classement