在数据库中已存在如下表( ’pk’ 表示主键,fk 引用 pk )
flight( 航班信息表 )
Flowid ( 流水号 ) pk |
orgCityCode (起飞城市编号) fk dstCityCode (到达城市编号) fk flightnum (航班号) deptDateTime (起飞时间) |
city( 城市表 )
cityCode( 城市编号 ) PK
cityName( 城市名称 )
1) 请用 SQL 语句选出从“北京”出发飞往各地的航班号,并按照到达城市编号排序
2) 请用 SQL 语句选出 2009-6-1 以后起飞的航班,并按起飞时间从早到晚排序。输出内容:起飞城市名称、到达城市名称、航班号、起飞时间
3) 请用 SQL 语句统计 2009-6-1 至 2009-6-10 每天 从“北京”出发飞往各地的航班的数量。
4 ) 请用 SQL 语句找出今天只有去程,没有回程的航线。
oracle
1)select flightnum from flight f inner join city c
on f.orgCityCode=c.cityCode
where c.cityName=' 北京 '
order by f.dstCityCode
2)
select c1.cityname,c2.cityname,f.flightnum,f.deptDateTime
from flight f
inner join city c1 on c1.cityCode=f.orgCityCode
inner join city c2 on c2.cityCode=f.dstCityCode
where f.deptDateTime>to_date('2010-06-01','YYYY-MM-DD')
order by f.deptDateTime
3)
select count(f.flowid)
from flight f inner join city c on f.orgCityCode=c.cityCode
where c.cityName=' 北京 ' and f.deptDateTime>=to_date('2009-06-01','YYYY-MM-DD') and f.deptDateTime<= to_date ('2010-06-10','YYYY-MM-DD')
group by f.deptDateTime
4)
select f.*
from flight f
where f.deptDateTime=trunc(sysdate ,'dd') not exists(select * from train f1 where f.startCode=f1.endCode and f.endCode=f1.startCode)