1. 程式人生 > 實用技巧 >6DQL之mysql多表查詢語句select

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;

例項:

查詢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