exerce des données de requêtes MySQL 20191010

Les données de test:

DROP TABLE IF EXISTS `student`;
CREATE  TABLE  student (
id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  ,
NAME  VARCHAR(20)  NOT NULL ,
sex  VARCHAR(4)  ,
birth  YEAR,
department  VARCHAR(20) ,
address  VARCHAR(50) 
);
CREATE  TABLE  score (

id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  AUTO_INCREMENT ,

stu_id  INT(10)  NOT NULL ,

c_name  VARCHAR(20) ,

grade  INT(10)

);
INSERT INTO student VALUES( 901,'张老大', '男',1985,'计算机系', '北京市海淀区');

INSERT INTO student VALUES( 902,'张老二', '男',1986,'中文系', '北京市昌平区');

INSERT INTO student VALUES( 903,'张三', '女',1990,'中文系', '湖南省永州市');

INSERT INTO student VALUES( 904,'李四', '男',1990,'英语系', '辽宁省阜新市');

INSERT INTO student VALUES( 905,'王五', '女',1991,'英语系', '福建省厦门市');

INSERT INTO student VALUES( 906,'王六', '男',1988,'计算机系', '湖南省衡阳市');

INSERT INTO score VALUES(NULL,901, '计算机',98);

INSERT INTO score VALUES(NULL,901, '英语', 80);

INSERT INTO score VALUES(NULL,902, '计算机',65);

INSERT INTO score VALUES(NULL,902, '中文',88);

INSERT INTO score VALUES(NULL,903, '中文',95);

INSERT INTO score VALUES(NULL,904, '计算机',70);

INSERT INTO score VALUES(NULL,904, '英语',92);

INSERT INTO score VALUES(NULL,905, '英语',94);

INSERT INTO score VALUES(NULL,906, '计算机',90);

INSERT INTO score VALUES(NULL,906, '英语',85);

3. Recherche Tous les enregistrements de la table étudiant
interroge la table des élèves Article 2-4 enregistrement d'
informations 5. Nombre recherche élèves des écoles de la table des étudiants (id), le nom (nom) et le Collège (Ministère)
de la table des étudiants Département d'informatique et de l' information des étudiants requête du département anglais
requête en âge du 18 au 22 étudiant la table ans d' information étudiant
requête à partir d' une table étudiant chaque département combien de personnes
9. plus de points d'interrogation score pour chaque sujet de la table
10. les sujets de test de John Doe (de nom_C) et les résultats des tests (grade)
11. les informations de requête pour tous les élèves et les informations d'examen des connectés
calculer un score total pour chaque élève 12.
13. le calcul de la note moyenne pour chaque sujet de test
14. les résultats de la requête sont moins de 95 élèves l' information informatique
15. l'enquête en informatique participent également et en anglais examen éTUDIANT
16. les résultats des tests d'ordinateur sont classées par ordre décroissant
18. Zhang requête ou camarade de classe Wang nom surnommé, faculté et des sujets de tests de rendement et
19 enquêtes sont des étudiants de nom de Hunan, l' âge, le corps professoral et les sujets de test et les notes

SELECT * FROM student;
SELECT * FROM student LIMIT 1,3;
SELECT id AS 学号,NAME AS 姓名, department AS 系别 FROM student;
SELECT * FROM student WHERE department IN ('中文系','计算机系');
SELECT * FROM student WHERE department = '中文系' OR department ='计算机系';
SELECT * FROM student WHERE department LIKE '中文系' OR department ='计算机系';
SELECT * FROM student WHERE birth BETWEEN 1991 AND 1996;
SELECT id,NAME,sex,2013-birth AS age,department,address FROM student WHERE 2013-birth BETWEEN  18 AND 22;
SELECT id,NAME,sex,2013-birth AS age,department,address FROM student WHERE 2013-birth>=18 AND 2013-birth<=22;
SELECT department,COUNT(*) AS 人数 FROM student GROUP BY department;
SELECT * FROM student AS st INNER JOIN score AS sc ON st.id = sc.stu_id;
SELECT  stu_id,SUM(grade) FROM score GROUP BY stu_id;
SELECT  student.id ,SUM(score.grade) FROM student,score WHERE student.id = score.stu_id GROUP BY student.id;
SELECT a.stu_id, AVG(a.grade + b.grade)  FROM score a,score b WHERE a.stu_id = b.stu_id  GROUP BY a.stu_id;
SELECT c_name,AVG(grade) FROM score GROUP BY c_name;
SELECT st.id,st.name,sc.c_name FROM student AS st LEFT JOIN  score AS sc ON sc.stu_id = st.id AND sc.c_name = "计算机" AND sc.c_name = "英语";


##查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩
```sql
SELECT st.name,st.department,sc.c_name,sc.grade,st.address FROM student AS st INNER JOIN score AS sc ON st.address LIKE "湖南省%" AND sc.stu_id = st.id ;
SELECT st.name,st.department,sc.c_name,sc.grade,st.address FROM student AS st LEFT OUTER JOIN score AS sc ON sc.stu_id = st.id WHERE st.address LIKE "湖南省%" ;
SELECT st.name,st.department,GROUP_CONCAT(sc.c_name),GROUP_CONCAT(sc.grade),st.address FROM student AS st LEFT OUTER JOIN score AS sc ON sc.stu_id = st.id WHERE st.address LIKE "湖南省%" GROUP BY st.name  ;

Publié 15 articles originaux · a gagné les éloges 14 · vues 5721

Je suppose que tu aimes

Origine blog.csdn.net/qq_39204060/article/details/102480380
conseillé
Classement