sql 面试

在数据库中已存在如下表( ’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)

 

 

 

 

 

 

你可能感兴趣的:(sql,C++,c,面试,F#)