6DQL之mysql多表查询语句select

1小于100人城市所在国家的国土面积(城市名,国家名,国土面积)

先从城市表中查出小于100人的城市名和国家代码

然后通过代码查询国家名称和国土面积

select cityname,countrycode from world.city where pipulation<100;
select countryname,surfacearea from world.country where code=‘PCN‘

 如果我想用一条语句实现联表查询,传统方法如下(不推荐):

select:要查询的内容

from:从哪里查询

where:声明两张表的关系

on:判断条件

select city.name,country.name,country.surfacearea
from city,country
where city.countrycode=country.code
and city.population<100;

 上面的需要还可以用内联的方法实现联表查询(推荐):

select:要查询的内容

from..join:连接两张表

on:声明两张表的关系

where:要查询的条件

select country.name,city.name,country.surfacearea
from city jion country
on city.countrycode=country.code
where city.ppulation<100;

 实例:

6DQL之mysql多表查询语句select

查询oldguo老师和他教的课程名称:

select teacher.tname,course.cname
from teacher join course
on teacher.tno=course.cno
where tacher.tname=‘oldguo‘;

统计一下每门课程的总成绩:

select course.cname,sum(sc.score)
from course join sc
on coursr.cno=sc.cno;
group by course.cno,course.cname

 

6DQL之mysql多表查询语句select

上一篇:Python使用SQLAlchemy连接数据库CRUD


下一篇:Spark SQL 编程初级实践