---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
删除数据
1:删除表中的全部数据:delete from T_Person
2:delete只是删除数据,表还在,和Drop Table不同
3:delete也可以带where子句来删除一部分:delete from T_perosn where Age>20;
数据检索
1:简单的数据检索:select * from T_Employee * 代表所有的字段
2:只检索需要的列:select Fnumber from T_Employee,select FName,FAge from T_Employee
3: 列别名:select FName As 姓名 from T_Empolyee(用关键字as取别名)
4:使用where 检索符合条件的数据:select FName from T_Person
where FSalary<5000;
5:还可可以检索不与任何表关联的数据 select 1+1,select newid();
select getdate();
聚合函数
Select count (*) from T_Employee—检索表里总共有多深条数据
Select max (FSalary) T_Employee—查询最高工资
Select min(FSalary) T_Employee
Select avg(Fsalary) T_Employee—平均工资
Select sum (Fsalary) T_Employee—总共的工资
Select count(FSalsry) T_Employeewhere FSalary >5000—查询工资大于等于5000的人数
数据排序:
1:order by 子句位于select 语句的末尾,它允许指定按照一个列或者多个列进行排序,还可以指定排序方式升序(从小到大 ASC),还是降序(从大到小DESC)
2:按照年龄升序排序所有的员工信息的列表:select * from T_Employeeorder by FAge ASC
3:按照年龄从大到小排序,如果年龄相同则按照工资从大到小排序:select * from T_Employeeorder by FAge desc ,FSalary desc
4:注意,order by 子句要放到where 子句之后:select * from T_Employee where Fage >23 order by Fage desc,FSalary Desc,越靠前越优先
通配符(模糊匹配)
1:通配符过滤使用like
2:单字符的通配符使用为半角下划线“_”它的匹配单个出现的字符,一任意字符开头,剩余的为Erry:select * from T_Employee where FName like ’_erry’
3:过个字符匹配的通配符为半角百分号“%”,他的匹配任意次数(零或多个)出现的字符“K%”匹配以“K”开头,任意长度的字符串,检索姓名中包含字母“N”的员工信息:select * from T_Employee where FName like ‘N’
select * fromT_Person where Namelike '_ion'
select * from T_Person where Name like '%小%'
空值的处理
1:数据中,一个列如果没有指定值,那么值为NULL 这个NULl和C#中的NULL,数据库表示不知道,而不是表示没有,因此,select null+1,因为不知道加1,结果还是不知道
2:select * from T_Employee where Fname=null;
Select * from T_Employee where Fanme !=null
都没有返回任何结果,因为数据库也不知道 Sql 中表示不知道
3:sql 中使用is null not null来进行判断空值,select * from T_Employee where Fname is null/not null
select * from T_Person where Name is not null
多值匹配
Select Fage,FNumber,FName from T_Employee where FAge in(1,56,34)查询年龄在这个范围类的人
Select * from T_Employee where FAge>=23 and FAge<=27;
Select * from T_Employee where FAge between 23 and 27
select * from T_Person whereAge between 12 and78 order by Agedesc
对数据进行分组
1:按照年龄进行分组统计各个年段的人数
Select FAge,Count(*) from T_Employee grou by Fage;
2:group by 子句必须放到where语句的之后,
3:没有出现在group by你子句中的列是不 能放到select语句后的列名中(聚合函数中除外)
错误:select FAge,FSalary from T_Employee Group by FAge
正确:select FAge,Avg(FSalary) from T_Employee group byFAge
聚合函数不能出现在where子句中 应用havingcount(*)>1
Having 是对分组后信息过滤,能用的列和select中的列是一样
select Code,count(*) as 总数from T_mobile
group by Code
having count(*)>100
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- 详细请查看:http://net.itheima.com/