第九章 数据查询基础
来源:互联网 发布:贵阳广电网络营业厅 编辑:程序博客网 时间:2024/06/05 02:50
查询
/****** Script for SelectTopNRows command from SSMS ******/SELECT TOP 1000 [StudentNo] ,[LoginPwd] ,[StudentName] ,[Sex] ,[GradeId] ,[Phone] ,[Address] ,[BornDate] ,[Email] FROM [MySchool].[dbo].[Student] --查询所有的数据行和列 SELECT * FROM dbo.Student 查询部分行或列 SELECT StudentNo ,StudentName ,GradeId FROM dbo.Student WHERE Sex='女' AND GradeId=1 --查询中使用列的别名 SELECT StudentNo AS 学号,StudentName AS 姓名, GradeId AS 年级 FROM dbo.Student WHERE Sex='男' AND GradeId=2 --查询空值(采用 "IS NULL"或"IS NOT NULL"来判断是否为空) SELECT 姓名=StudentName,性别=Sex,年级=GradeId,Email FROM dbo.Student WHERE Email IS NULL -------------- SELECT 姓名=StudentName,性别=Sex,年级=GradeId,Email FROM dbo.Student WHERE Email IS NOT NULL --查询中使用常量列(将常量的默认值添加到查询输出中) SELECT '北大青鸟' AS 学校,StudentNo AS 学号,StudentName AS 姓名,Sex AS 性别,GradeId AS 年级,Phone AS 联系方式, Email FROM dbo.Student -- 查询返回限制的行数 (查询部分前十列,使用TOP关键字约束) SELECT TOP 10 StudentNo,StudentName,Sex,GradeId FROM dbo.Student WHERE GradeId=1 --查询返回限制的行数 (查询百分比提取记录,使用PERCENT关键字来限制) SELECT TOP 20 PERCENT StudentNo AS 学号,StudentName AS 姓名,Sex AS 性别,GradeId AS 年级 FROM dbo.Student WHERE Sex='男' --(1990年后出生的学生姓名) SELECT * FROM dbo.Student WHERE BornDate>1990 -------(字符串函数) --查询所在位置 SELECT StudentNo AS 学号,StudentName AS 姓名, GradeId AS 年级,Phone AS 联系方式 ,CHARINDEX('6',Phone,1)as 位置,Address AS 地址 FROM dbo.Student WHERE Sex='男' AND GradeId=2 --查询长度SELECT StudentNo AS 学号,StudentName AS 姓名, GradeId AS 年级,Phone AS 联系方式 ,Address AS 地址,LEN(Address)AS 长度 FROM dbo.Student WHERE Sex='男' AND GradeId=2 --转换成大写 SELECT StudentNo AS 学号,StudentName AS 姓名, GradeId AS 年级,Phone AS 联系方式 ,Address AS 地址,Email,UPPER(Email)AS 大写Email FROM dbo.Student WHERE Sex='男' AND GradeId=2 --清除字符左边的空格 --添加空格 SELECT StudentNo AS 学号,' '+StudentName+' ' AS 姓名, GradeId AS 年级,Phone AS 联系方式 ,Address AS 地址,Email FROM dbo.Student WHERE Sex='男' AND GradeId=2 --左边的空格 SELECT StudentNo AS 学号,' '+StudentName+' ' AS 姓名,LTRIM(StudentName), GradeId AS 年级,Phone AS 联系方式 ,Address AS 地址,Email FROM dbo.Student WHERE Sex='男' AND GradeId=2 --右边的空格 SELECT StudentNo AS 学号,' '+StudentName+' ' AS 姓名,RTRIM(StudentName), GradeId AS 年级,Phone AS 联系方式 ,Address AS 地址,Email FROM dbo.Student WHERE Sex='男' AND GradeId=2 --从字符串右边返回指定数目的字符 SELECT StudentNo AS 学号,StudentName AS 姓名, GradeId AS 年级,Phone AS 联系方式 ,RIGHT(Phone,4)AS 右边四位数, Address AS 地址,Email FROM dbo.Student WHERE Sex='男' AND GradeId=2 --从字符串左边返回指定数目的字符 SELECT StudentNo AS 学号,StudentName AS 姓名, GradeId AS 年级,Phone AS 联系方式 ,left(Phone,4)AS 左边四位数, Address AS 地址,Email FROM dbo.Student WHERE Sex='男' AND GradeId=2 --替换一个字符串中的字符 SELECT StudentNo AS 学号,StudentName AS 姓名, GradeId AS 年级,Phone AS 联系方式 , Address AS 地址,REPLACE(Address,'学生','优秀')AS 替换后地址, Email FROM dbo.Student WHERE Sex='男' AND GradeId=2 --删除指定长度的字符,并在该位置插入新的字符串 SELECT StudentName AS 姓名,Phone AS 联系方式,STUFF(Phone,3,5,'***')AS 插入后,Address AS 地址 FROM dbo.Student -------(日期函数) --yy,yyyy(年) mm,m(月) wk,ww(周) dw,w(日期) mi,n(分) ss,s(秒) --取得当前系统日期 SELECT StudentNo,StudentName,Address,BornDate,GETDATE()AS 当前日期,Email FROM dbo.Student --将指定的数值添加到指定日期(月份) SELECT StudentNo,StudentName,Address,BornDate,DATEADD(MM,4,BornDate )AS 添加后日期,Email FROM dbo.Student --指定日期部分的间隔(月份) SELECT StudentNo,StudentName,Address,BornDate,DATEDIFF(MM,'1995-9-9',BornDate)AS 日期间隔,Email FROM dbo.Student --指定日期部分字符串形式(weekday) SELECT StudentNo,StudentName,Address,BornDate,DATENAME(DW,BornDate)AS 字符串形式,Email FROM dbo.Student --指定日期部分的整数形式 --(整数--年) SELECT StudentNo,StudentName,Address,BornDate,DATEPART(year,BornDate)AS 整数型式,Email FROM dbo.Student --(整数--月) SELECT StudentNo,StudentName,Address,BornDate,DATEPART(month,BornDate)AS 整数型式,Email FROM dbo.Student --(整数--日) SELECT StudentNo,StudentName,Address,BornDate,DATEPART(DAY,BornDate)AS 整数型式,Email FROM dbo.Student --------数学函数 --返回从0到1之间的随机float值 SELECT RAND() --取数值表达式的绝对值 SELECT ABS(-78),ABS(-63) --取整数 幂值 指定精度 平方根 SELECT CEILING(55.6), POWER(5,2), ROUND(45.321,1),ROUND(23.212,2),SQRT(9) --正数返回+1,负数返回-1,0则返回0 SELECT SIGN(-45),SIGN(23) ------系统函数 --转变数据类型 返回当前用户姓名 字节数 计算机名字 所登录用户名 用户ID返回用户名 SELECT CONVERT(VARCHAR(5),12345), CURRENT_USER , DATALENGTH('滴滴答答'),HOST_NAME(), SYSTEM_USER, USER_NAME(1) -- (E-maill中@的位置) SELECT Email,CHARINDEX('@',Email,1 ) FROM dbo.Student --(E-maill的长度) SELECT Email,LEN(Email) FROM dbo.Student
排序
/****** Script for SelectTopNRows command from SSMS ******/SELECT TOP 1000 [Id] ,[StudentNo] ,[SubjectId] ,[StudentResult] ,[ExamDate] FROM [MySchool].[dbo].[Result] --查看第一学期所有学生信息 SELECT * FROM [MySchool].[dbo].[Result] WHERE SubjectId=1 --查看第二学期所有学生的信息 SELECT * FROM [MySchool].[dbo].[Result] WHERE SubjectId=2 --查看第三学期所有学生的信息 SELECT * FROM dbo.Result WHERE SubjectId=3 --查看StudentResult超过60的信息 SELECT * FROM dbo.Result WHERE StudentResult>60 --查询排序(使用ORDER BY进行排序 ASC:"升序--[默认]" DESC:"降序") --ExamDate(升序输出) SELECT * FROM dbo.Result ORDER BY ExamDate --StudentResult(降序输出) SELECT * FROM dbo.Result ORDER BY StudentResult DESC --按日期,成绩,编号为1的考试科目信息 SELECT ExamDate,StudentResult,SubjectId FROM dbo.Result WHERE SubjectId=1 ORDER BY ExamDate , StudentResult DESC --前五名学生成绩 SELECT TOP 5 StudentResult FROM dbo.Result WHERE ExamDate='2013-3-22' --查询学号"S1101003"考试信息,先后顺序显示 SELECT StudentNo,StudentResult,ExamDate FROM dbo.Result WHERE StudentNo='s1101003' ORDER BY ExamDate
0 0
- 第九章 数据查询基础
- SQL第九章数据查询基础上机题1-4
- 第九章 汇总数据
- 第九章高级子查询
- 5--数据查询基础
- SQL数据查询基础
- HQL数据查询基础
- HQL数据查询基础
- HQL数据查询基础
- SQL ------------------- 数据查询基础
- 数据查询基础
- Hql数据查询基础
- MySQL基础:查询数据
- HQL数据查询基础
- HQL数据查询基础
- SQL笔记(9)_第九章 汇总查询得到的数据
- SQL入门经典(第5版)第九章 汇总查询得到的数据
- c++基础 (第九章)
- Spark Executor on YARN
- 在线音乐播放问题全解
- UI效果
- Linear Algebra - Lesson 17. 正交矩阵和Gram-Schmidt正交化
- Shell中的特殊符号和含义简明总结
- 第九章 数据查询基础
- 信息论与编码——DES数据加密标准
- hdu5307 He is Flying FFT
- linux的Screen命令
- $.ajax的一些总结
- 最大子序列和问题
- 自定义ViewGroup-堆叠头像的点赞Layout
- 二叉树常见问题整理
- 什么是回调(Callback)函数