Mysql 单表多表查询 全 详细代码注释
程序员文章站
2024-03-02 19:53:28
...
score表student表数据查询连接 点击进入
以上是两张表的数据,以下是一些不太难的查询语句,代码其实一点也不恶心人,但是恶心起来不像个人。淦!
自己总结了学习这些查询的技巧,思路,为方便后来人查询答案的同时能明白基本思路,因为简单的查询语言一目了然,但是后面有很多查询四五句,七八句常有的事情
如果没搞懂基本逻辑思路,抄起来都懵逼,而且在抄这些代码的过程中会非常的痛苦。话不多说,看详细注释代码【点击链接进入解释】!
查询student表的第2条到4条记录
SELECT * FROM student LIMIT 1,3;--检索行2--4
limit 用法 数字含义解释 点击进入
● 从student表中查询计算机系和英语系的学生的信息
SELECT * FROM student WHERE department='计算机系' OR department='英语系';
● 从student表查询所有学生的学号(id)、姓名(name)和院系(department)的信息
SELECT id, name,department FROM student ;
● 从student表中查询年龄18~22岁的学生信息
SELECT * FROM student WHERE (2021-birth)>18 AND (2021-birth)<22;
● 从student表中查询每个院系有多少人
select department,COUNT(department) from student GROUP BY department;
● 从score表中查询每个科目的最高分
SELECT c_name,MAX(grade) FROM score GROUP BY c_name;
带蓝色圆点符号 详细代码解释 点击进入
▲ 查询李四的考试科目(c_name)和考试成绩(grade)
SELECT b.name,a.c_name,a.grade FROM score a,student b WHERE a.stu_id=b.id AND b.name='李四';
▲ 用连接的方式查询所有学生的信息和考试信息
SELECT * FROM student b JOIN score a ON b.id=a.stu_id;
▲ 查询计算机成绩低于95的学生信息
SELECT b.*,a.* FROM score a JOIN student b ON b.id=a.stu_id AND a.grade<95 AND a.c_name='计算机';
▲ 查询同时参加计算机和英语考试的学生的信息
SELECT * FROM student WHERE id IN(
SELECT a.stu_id FROM
(SELECT stu_id FROM score WHERE c_name='计算机') a JOIN
(SELECT stu_id FROM score WHERE c_name='英语') b ON a.stu_id=b.stu_id)
▲ 查询都是湖南的学生的姓名、年龄、院系和考试科目及成绩
SELECT *FROM score s1 JOIN student s2 ON s1.stu_id= s2.id AND s2.address LIKE '湖南%';
三角符号题目 详细代码解释 点击进入
上一篇: python连接SQLAlchemy
下一篇: sql优化之in字符