SQL Server——SELECT基本语句

r囧r小猫 2022-07-24 10:11 392阅读 0赞
  1. </pre><pre class="sql" name="code">/****** Script for SelectTopNRows command from SSMS ******/
  2. use [MyDatabase]
  3. go
  4. select * from [dbo].[学生信息表$] --显示表中的全部信息
  5. select top 10 * from [dbo].[学生信息表$] --选择前10项显示全部信息
  6. select [学号/帐号*],[姓名*],[性别],[院系*],[专业*],[入学年份]
  7. from [dbo].[学生信息表$]
  8. order by [入学年份] desc --desc按降序排列,asc按升序排列
  9. select [学号/帐号*],[姓名*],[性别],[院系*],[专业*],[入学年份]
  10. from [dbo].[学生信息表$]
  11. order by 6 --按第6列升序排列
  12. select [学号/帐号*],[姓名*],[性别],[院系*],[专业*],[入学年份],[手机号],isnull([邮箱],''),[课程]
  13. from [dbo].[学生信息表$] --不显示[邮箱]中值为NULL的值且列名不显示
  14. select [学号/帐号*],[姓名*],[性别],[院系*],[专业*],[入学年份],[手机号],isnull([邮箱],'') as [邮箱],[课程]
  15. from [dbo].[学生信息表$] --不显示[邮箱]中值为NULL的值且显示列名
  16. select [学号/帐号*],[姓名*],[性别],[院系*],[专业*],[入学年份],[手机号],isnull([邮箱],'') as [邮箱],[课程],
  17. '我是:'+ [姓名*]
  18. from [dbo].[学生信息表$] --+号的使用
  19. select *,[日花费]*300 as 年花费
  20. from [dbo].[软件1405——406$]--对数据的计算
  21. select * from [dbo].[学生信息表$]
  22. where [学号/帐号*]='13030330'--选出所有[学号/帐号*]为13030330的数据
  23. select * from [dbo].[学生信息表$]
  24. where [学号/帐号*]>'13030330'and [学号/帐号*]<'13030340'--选出同时满足两个条件的数据and ,between....and
  25. select * from [dbo].[学生信息表$]
  26. where [学号/帐号*]<'13030330'or [学号/帐号*]>'13030340'--选出只要满足两个条件中一个条件的数据
  27. select * from [dbo].[学生信息表$]
  28. where [姓名*] like '刘%'--%代表有字符或没字符
  29. select * from [dbo].[学生信息表$]
  30. where [姓名*] like '_王%'--_代表只有一个字符。
  31. select * from [dbo].[学生信息表$]
  32. where [专业*] in('会计','文秘','物流管理') --in的用法
  33. select * from [dbo].[学生信息表$]
  34. where [专业*] not in('会计','文秘','物流管理') --not in的用法
  35. select * from [dbo].[学生信息表$]
  36. where [邮箱] is null --is null和is not null的用法
  37. <pre class="sql" name="code">select
  38. Avg([体重]) as [平均体重],
  39. Min([体重])as [最大值],
  40. Max([体重])as [最小值],
  41. Sum([体重])as [总和]
  42. from [MyDatebase].[dbo].[软件1405——406$]
  43. select [姓名],
  44. Max([体重])as [最小值]
  45. from [MyDatebase].[dbo].[软件1405——406$]
  46. group by [姓名]
  47. order by [姓名] --
  48. select [姓名],
  49. Max([体重])as [最小值]
  50. from [MyDatebase].[dbo].[软件1405——406$]
  51. where [体重] is not null
  52. group by [姓名]
  53. having Max([体重])>60
  54. order by [姓名]

COUNT(表达式|*)

COUNT(*)函数用于计算查询中返回的行数

  1. SELECT [入学年份],COUNT(*) AS [人数]
  2. FROM [MyDatebase].[dbo].[学生信息表$]
  3. WHERE [入学年份] IN(2012,2013)
  4. GROUP BY [入学年份]
  5. ORDER BY [入学年份]

HAVI子句仅用于带有GROUP BY自居的查询语句中。WHERE子句应用于每一行,而HAVING字句应用于分组的聚合值。

WHERE子句在聚合函数之前执行

HAVING子句在聚合函数执行后执行

  1. SELECT [入学年份],COUNT(*) AS [人数]
  2. FROM [MyDatebase].[dbo].[学生信息表$]
  3. WHERE [入学年份] IN(2012,2013)
  4. GROUP BY [入学年份]
  5. HAVING COUNT(*) > 50
  6. ORDER BY [入学年份]

DISTINCT只返回不同的值,去掉重复的。

  1. SELECT DISTINCT [入学年份]
  2. FROM [MyDatebase].[dbo].[学生信息表$]
  3. WHERE [入学年份]>=2013

DISTINCT可以用在聚合函数表达式中。

  1. SELECT COUNT(DISTINCT [入学年份])
  2. FROM [MyDatebase].[dbo].[学生信息表$]
  3. WHERE [入学年份]>=2012

发表评论

表情:
评论列表 (有 0 条评论,392人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SQL 查询语句基本概念

    数据库中存储的是一张张表;表是行和列的形式; 查询语句的基本形式是:select  字段名  from 表名; 字段名如果是 \,则代表全部字段; 如下图,查询membe