mysql条件查询

1)查询学生表中所有数据信息查询出成绩表的所有信息;如能查出数据,则接着查出学生表的所
有信息,通过一个sql语句来实现。
2)、查询出成绩表中学生编号大于1000的所有信息;如不能查询出数据,则接着查询出学生表的所
有信息,观察有没查询结果,通过一个l语句来赛现:
3).从学生表中查询出学生的d,姓名信息前提是假如学生的d在成绩表中stud里有相应的值,通
过一个sql语句来实现。
4).从学生表中查询出学生的过,姓名信息前提是假如学生的d在成绩都及格的成绩表中stu_id里有
相应的值,通过一个sql语句来实现。
5).从学生表中查询出学生成绩等于100的学生的所有信息。
6).从学生表中查询出编号不等于学生成绩等于80的学生的编号的所有信息。
7从学生表中查询出编号属于学生成绩不等于80的学生的编号的所有信息。

SELECT * from stu WHERE EXISTS(SELECT * from  stu_score);

SELECT * from stu WHERE  EXISTS (SELECT * from stu_score where stu_id>1000);

SELECT id,name from stu WHERE EXISTS (SELECT id FROM stu_score);

SELECT id,name FROM stu WHERE EXISTS (SELECT id FROM stu_score WHERE score>=60);

SELECT * from stu WHERE id=(SELECT stu_id from stu_score WHERE score=100);

SELECT * from stu  WHERE id!=(SELECT stu_id from stu_score WHERE score=80);

SELECT * from stu  WHERE id in (SELECT stu_id from stu_score WHERE score!=80);

2.从学生表中查询出姓名,年龄信息;再从成绩表中查询出科目,成绩信息;最后将两张表中的
信息合并到一张表中显示;要求去除重复记录用一个sql语句来完成

SELECT name,age from stu;

SELECT SUBJECT,score from stu_score;

SELECT DISTINCT name,age from stu union SELECT DISTINCT SUBJECT,score from stu_score;

3(1).先在成绩表中查出所有学生的stu_id,然后从学生表中找出比其中任意一个stu_id还要大的学生信息
(2.先在成绩表中查出所有学生的stu_id,然后从学生表中找出比其中所stu_id还要大的学生信息
(3.查出分数高于平均分的学生的名字,成绩

SELECT * FROM stu WHERE id> ANY(SELECT stu_id from stu_score );

SELECT * FROM stu WHERE id>= all(SELECT stu_id from stu_score );

SELECT a.name,b.score FROM stu a,stu_score b WHERE a.id=b.stu_id AND score>(SELECT AVG(score) from stu_score);

 

 

posted @ 2019-10-08 12:01  星星点灯666  阅读(246)  评论(0编辑  收藏  举报