MSSql Server基础学习系列———数据检索

来源:互联网 发布:如何将链接在淘宝打开 编辑:程序博客网 时间:2024/06/04 18:02

我们对数据库的操作无外乎就是增删改查,今天就先从数据检索开始学习

1、普通查询(select)
--  一、简单查询--查询全部select * from dbo.[User]--不推荐使用
如果真的是需要查询所有字段的值,则把所有列都写出来,这样做是为了预防以后数据表结构变化,导致程序的改变。(Student 表新增Ssex一列,则程序中通过* 查询出来的结果可能还需要对这个结果进行处理)
select [user].Uid, [user].Uname, [user].Upasswordfrom dbo.[user]--推荐使用--查询第一条数据(数据库已经进行了排序)select top 1 *from dbo.[User]--查询部分select unamefrom dbo.[user]--重命名select uname as '姓名'from dbo.[user]select uname '姓名'from dbo.[user]select '姓名'=unamefrom dbo.[user]select uname [姓名]from dbo.[user]--多列合并select uname+upassword as '用户名密码'from dbo.[user]

2、条件查询

很多时候我们需要对查询的结果进行筛选,这个时候就需要使用条件查询了

select * from dbo.[user]where Uid=3select * from dbo.NewCoursewhere Cid between 1 and 2--between还可用于日期形式的查询语句select * from dbo.Teacherwhere Tbiethday between '2010-10-10' and '2015-10-10'select * from dbo.NewCoursewhere Cid in(1,2)--select 还可用来计算表达式、函数select 1+1 as '结果'select GETDATE()--每个select语句的执行结果都是一个结果集select 'aaa'select 'bbb'--上面两个select语句的执行结果就是两个结果集--添加关键字unionselect 'aaa'unionselect 'bbb'--查询的结果是一个结果集--两个查询结果集进行union的前提--(1)数据字段个数相同--(2)对应字段的数据类型能够相互兼容 --获取前面的数据select top 10 * from [TestDB].[dbo].[Teacher]--top一般和排序结合起来使用select top 0 * into TeacherNew from dbo.Teacher--创建结构一样但是数据为空的表--相对于之前的创建表,效率更高(带where的查询语句,--需要在每次数据筛选前都进行where条件的判断,性能不高)select * into TeacherNew from dbo.Teacherwhere 0>1--distinct--去掉结果集中重复的姓名数据select distinct Tname from dbo.Teacher--去掉结果集中姓名、年龄重复的数据select distinct Tname,Tage from dbo.Teacher--三、模糊查询--模糊查询--查询出姓李的人--第一种使用聚合函数select * from dbo.Teacherwhere LEFT(Tname,1)='李'--使用like-- '_'表示单个任意字符-- '%'表示零个或多个任意字符select * from dbo.Teacherwhere Tname like '李%'--[]转义符--当查询的结果中含有数据库关键字的时候就需要使用转义符


0 0