mssql学习笔记【1】

el/2024/5/23 1:06:00

使用smalldatatime类型数据 将显示:  年-月-日 时:分:秒


use s
select * from test 

*号表示查每个元组的所有列


select count (*)  number from test where sdept like'计算机'

查计算机系学生人数,count()计数函数 上述 count(字段名) 和count(*) 效果一样

 

select count(sdept) number from test

返回test表中的所有记录条数  上述 count(字段名) 和count(*) 效果一样


select distinct * from test

distinct 关键字去掉重复的列


select sum(sage)   sumsage from test


sum函数求和 处理目标只能是数字类型  对char 或者varchar不能处理

select sum (sage) jsjage from test where sdept like '计算机'


avg返回平均值,处理目标只能数字类型
 
select avg(sage)  avgSage from test


max min 最大最小值  不能 用于where字句中,只能用子查询,但可以对字符串数据操作

select max(sage) maxsage from test

select min(sage) minsage from test


日期、时间 数学 字符串 函数 书 P77-85

select getdate()
获取当前时间 精确到毫秒


查询:

主要字句

select

into

from

[where  ]  用于限制选取的记录条件

[group by  ]  加分组关键字  用于将查询的结果按某一字段进行分组显示

[having   ]   加条件  用于对分组进行条件限制  

[order by  asc|desc   ]  加排序关键字 用于将查询结果按某一字段进行升序或者降序排列 asc升序 desc降序


select 列名列表

from  表名/试图表名

group by 列名 聚合函数

having 条件分组

order by 列名 [asc|desc]

 先 where  再 group by 再 having 再 select 后 order

有join字句的select 先join 再 where  再 select


单列 查询所有学生的姓名  要求预先知道表的结构和字段名

select sname

from s


多列查询 重新指定列名 和顺序

select sname 姓名,sgentle 年龄, sdept 部门
from s


为学分加1 指定新列名  表中的实际数据还是没变 因为select不是操纵sql语句
select cno 课程号 ,cname 课程名称,cgrade+1  学分
from c


查询左右列 不能指定新列名

select  *
from s


distinct all  关键字  默认是all

select distinct cgrade

from c

select cgrade

from c

 

top关键字

top n 返回前n跳记录
top n percent  返回前百分之n的数据

select top 3 sno 学号,sname 学生姓名, sage 学生年龄,sdept 学生所在系
from s

select top 1 percent *
from s

select top 100 percent *
from s


into 字句
把查询结果放到一个新建的表中 select into 不能与 compute 字句一起使用

select sname,sgentle,sage,sdept
into newS
from s
select *
from news


下面必须要指定新列名了
select sname,sage+10  newSage,sgentle,sdept,sno
into newS2
from s
select *
from news2

into创建的是基表 使用灵活

将学生表数据复制到stu表中
select *
into stu
from s
select *
from stu

 


from 子句
from字句最多可接256个表或试图中间用逗号隔开

表的别名
例:
select sno,sname,sage
from s s1
生成一个三列的s1新表 注意但不时基表

 

 


http://www.ngui.cc/el/4893663.html

相关文章

开帖

印个脚印、、 未来在等我、、 两个月后的今天独立搭建起SSH框架、、 奋斗奋斗~~

中国最美的7个小镇

1.中国最美的地方——乌镇 地理位置:地处浙江桐乡市北端,西临湖州市,北界江苏吴江县。 必去理由:这个小家碧玉般静谧的江南小镇,没有周庄的名气,只有宁静、安详和让人感动的沧桑。白墙、青瓦、木隔扇、石板…

Hibernate入门2

*瞬时对象(Transient Objects):使用new 操作符初始化的对象不是立刻就持久的。它们的状态是瞬时的,也就是说它们没有任何跟数据库表相关联的行为,只要应用不再引用这些对象(不再被任何其它对象所引用),它们…

Hibernate入门3_基本标签映射

dtd:约束xml标签名字 <hibernate-mapping auto-import"true|false" //hql的实体类是否自动导入&#xff0c;默认自动导入 package"package.name" //全局的包 /> <class name"ClassName" pojo类名 table"tableName&qu…

Hibernate入门4_多对一关联映射

*关联映射&#xff1a;多对一:many-to-one:用户要持有组的引用 一对多:one-to-many 一对一:ont-to-one 多对多:many-to-many hibernate多对一关联映射: *关联映射的本质:将关联关系映射到数据库&#xff0c;所谓的关联关系是对象模型在内存中的一个或多个引用. *<many-t…

一对一主键关联

*一对一主键关联&#xff1a;单向&#xff1a;Person这一端看的&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; Person引用了IdCard&#xff0c;所有IdCard必须先有值 主键关联&#xff1a;t_person中主键不是自己生成的&#xff0c;引用t_idcard的&#xff0…

一对一唯一外键关联(单双向)

*一对一唯一外键关联:要加入一个外键 唯一外键单向:Person能加载到IdCard,IdCard不能加载到Person 对象模型: IdCard : private int id; private String cardNo; Person private int id; private String name; private IdCard idCard; 映射文件: IdCard: <class …

struts.xml向页面传参

请求地址&#xff1a; <a href"actions/user1?type1">传参数forward情况</a><br><br> <a href"actions/user2?type1">传参数redirect情况</a> Action&#xff1a; private String type; public String getType() …

Struts s:if 标签 判断中文

username 来自action 在页面上取得username的值 <s:set name"un" value"username"/> 比较语句这样写 <s:if test"#un M">**** </s:if> 这样写是错误的. 正确的写法如下: <s:if test#un "M">**** </s:if&…

EE5 jar 冲突解决办法

EE5 jar冲突报错&#xff1a;javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: 解决办法&#xff1a;去掉Maven自带的EE5jar