sql例题
‘壹’ sql如何做除法
这样:
select
t.[origin-destination],t.[SH/LANE/MOT] /(select count(1) from ['TMS$'] )ASPERCENTAGE
FROM (代码1) t
group by [origin-destination],t.[SH/LANE/MOT]
having t.[SH/LANE/MOT] /count(*) <= 0.01
注:两个count都是int,相除会没有小数部分,所以应该都给转成带小数的数。
cast as numeric(10,4) 。
(1)sql例题扩展阅读:
SQL中除法运算的实现
R(X,Y)÷S(Y,Z)的运算用结构化语言SQL 语句可表达为下列形式:
select distinct R.X from R R1
where not exists
(
select S.Y from S
where not exists
(
select * from R R2
where R2.X=R1.X and R2.Y=S.Y
)
)
‘贰’ 在SQL Server数据库中 存储过程是什么,希望给点例题
存储过程不仅sqlserver里有、其他dbms也有、只是语法有小出入。
存储过程是一段存储在系统中可随时使用的可带参数的SQL执行语句或程序段。
使用存储过程可以避免重复的填写SQL语句、可以快速的得到符合条件的某段SQL语句的执行结果。
例子(MSSQL):比如想实现一个表a(aid int,atime datetime)输入aid的值得到对应的atime的值
创建:
create proc proc_test //创建过程
@aid int //定义一个参数(默认为in参数)
as
declare @atime datetime //定义一个变量用于接收返回值(游标在这里定义)
begin
select @atime=atime from a where aid=@aid //select @xxx=xxx from是给变量赋值、也是sql语句的符合条件值
print @atime //print方法输出显示变量
end
执行:
exec proc_test a表中aid的任意一个值
以后想实现通过输入aid(或者其他列)的值得到atime(或者其他列)的值、就不用一遍一遍的写sql语句
这只是一个简单的应用。如果SQL语句是复杂语句、不是就省事多了?
这个例子只能返回一条记录、如果想返回多条、需要用游标。
这里暂时只给你简单应用、你先理解下。
‘叁’ 1、 解释关系数据库中第一范式、第二范式、第三范式的原理; 2、 写出创建“学生信息管理”的数据库的sql
1、第一范式:保证列的原子性
第二范式:当复合主键时,非主键字段必须与主键字段有直接依赖
第三范式:非主键字段不能有直接依赖关系
2、
create dababase 学生信息管理
或者
create database 学生信息管理
on
(
name='std',
filename=存储位置路径,
size=10
)