sql 基础 [一个常见的面试题]

--create database Dom
--on
--(
-- name='Dom_MDF',
-- filename='E:\Dom_Dom.mdf',
-- size=3mb,
-- maxsize=5mb,
-- filegrowth=15%
--)
--log on
--(
-- name='Dom_Log',
-- filename='E:\Dom_Log.log',
-- size=3mb,
-- maxsize=5mb,
-- filegrowth=15%
--)
--go
--
--use Dom
--go
----创建表

--create table city(
--cityCode int primary key identity(1000,1) not null,
--cityName varchar(20) not null,
--)

--create table train(
--startCode int , --(出发城市编号)
--endCode int , --(到达城市编号)
--trainNum varchar(10), --(火车型号)
--startDate datetime , --(出发时间)
--endDate datetime , --(到达时间)
--)
--select * from train
--select * from city
--
--alter table train add constraint fk_startCode foreign key (startCode) references city (cityCode)
--alter table train add constraint fk_endCode foreign key (endCode) references city (cityCode)
--
--insert into city values('成都')
--insert into city values('北京')
--insert into city values('上海')
--insert into city values('武汉')
--insert into city values('香港')
--
--delete train
--insert into train values(1000,1002,'TD-Z241','2010-08-25','2010-08-30')
--insert into train values(1001,1002,'NT-X324','2010-08-29','2010-08-30')
--insert into train values(1003,1002,'MD-Z131','2010-08-30','2010-08-31')
--insert into train values(1002,1001,'TE-S221','2010-08-25','2010-08-30')
--insert into train values(1002,1003,'TR-Z241','2010-08-25','2010-08-30')
--insert into train values(1000,1003,'TW-Z241','2010-08-24','2010-08-30')
--insert into train values(1003,1001,'ZE-Z131','2010-07-30','2010-08-02')
--insert into train values(1002,1003,'DT-Z241','2010-08-10','2010-08-12')
--insert into train values(1002,1004,'DT-Z241',getDate(),'2010-08-30')
--insert into train values(1004,1002,'DT-Z241',getDate(),'2010-08-30')
--insert into train values(1004,1001,'DT-Z241',getDate(),'2010-08-30')

--1)选出-8-10以后出发火车,并按列车的出发时间从早到晚排序。输出内容:出发城市名称、到达城市名称、发车时间
--2)统计-08-10至-08-29每天从“北京”出发的列车的数量
--3)找出今天没有回程的火车。

----1)
--select c1.cityName as startCity ,c2.cityName as endCity, t.startDate,t.endDate from train as t inner join city as c1
--on t.startCode=c1.cityCode inner join city as c2 on t.endCode= c2.cityCode where startDate > cast( '2010-08-10' as datetime)
--order by startDate asc
--
----2)
--select count(*),convert(CHAR(10), t.startDate, 103) as '出发时间' from train as t left join city as c on t.startCode=c.cityCode where
--c.cityName='北京' and t.startDate between cast('2010-08-10' as datetime) and cast('2010-08-29' as datetime) group by t.startDate;
--
----3)
--select c1.cityName as startCity ,c2.cityName as endCity, t.* from train as t inner join city as c1 on t.startCode=c1.cityCode inner join
--city as c2 on t.endCode= c2.cityCode where convert(char(10),t.startDate,120) = convert(char(10),getDate(),120)
--and not exists ( select * from train t1 where convert(char(10),t1.startDate,120) = convert(char(10),getDate(),120)
--and t.startCode = t1.endCode and t.endCode = t1.startCode and t.trainNum = t1.trainNum )
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值