首页技术sql多表查询(sql语句from两个表)

sql多表查询(sql语句from两个表)

编程之家2024-05-28129次浏览

一、SQL多表连接的查询

1、查询所有选课的学生的学号,姓名,课程名及成绩。查询语句:

sql多表查询(sql语句from两个表)

2、查询结果:

3、查询所有比赵雪年龄大的学生的姓名和年龄查询语句:

4、查询结果:

5、查询讲授C1(高等数学)课程的教师名查询语句:

6、查询结果:

7、查询与高等数学在同一教室上课的其他课程号查询语句:

sql多表查询(sql语句from两个表)

8、查询结果:

9、查询计算机系学生选修的课程名查询语句:

10、查询结果:

11、查询张光老师讲授的课程名查询语句:

12、查询结果:

二、SQL多表查询统计怎么弄

既然两个表的结构一模一样,如果想统计人名出现的总数,可以将两个表先用unionall合并到一起,然后再对其进行统计。

sql多表查询(sql语句from两个表)

例如,有下面两个表:成绩表A、成绩表B,这两个表的结构是完全一样的,分别都有20条记录,但两个表有部分记录是重复的:

如果将两个表合并到一起,可以使用unionall。注意,这里必须加上all,否则,那些重复的记录就会被排除掉了,从而导致出现的总数不准确。例如,下面的语句没有加all,输出的姓名记录数只有25个,有另外15个重复的被排除掉了:

所以,一定要加上all。这样得到两个表的合集后,再用括号将其包起来,把它作为一个表来处理,再次统计即可。sql语句如下:

select姓名,count(*)as出现次数from(select姓名from成绩表Aunionallselect姓名from成绩表B)groupby姓名

统计结果如下图:

我是人民邮电出版社签约作者,著有多本与B/S、C/S开发方面的专业书籍,欢迎关注并一起交流提高,谢谢!

三、SQL多表联查

在SQL中,如果要从多个表中检索数据并进行联合显示,可以使用多表联查。多表联查的语法如下:

SELECT列1,列2,...FROM表1JOIN表2ON表1.列名=表2.列名WHERE条件;

其中,JOIN是连接操作符,可以连接多个表。ON子句用于指定连接条件,连接条件可以是相等运算符、大于运算符等。如果要连接多个表,可以使用多个JOIN语句进行连接。

多表联查的步骤如下:

确定要查询的列和要查询的表。

使用JOIN语句将需要连接的表连接起来,指定连接条件。

使用WHERE子句指定查询条件。

例如,假设有两个表,一个是orders表,包含订单信息,另一个是customers表,包含客户信息,现在要查询客户名字和对应的订单号,可以使用以下SQL语句:

SELECTcustomers.name,orders.order_no

FROMcustomers

JOINordersONcustomers.id=orders.customer_id;

这个语句会连接customers表和orders表,根据两个表的customer_id和id列进行连接,并返回匹配的客户名字和订单号。

双面打印纸怎么放翻面(打印机纸盒推不进去怎么办)2018年电脑配置推荐?2500主机配置单2019