数据库个人笔记(3) -- 基础篇

数据库的查询

当用户登陆到SQL server 2008 时,即被指定到一个数据库,一般为 master 数据库,但是要想使用我们自己的数据库,就要进行转换。语句为 use database name,其中 database name 是要选中为当前数据库的数据库名称。

例如:
use pxscj
go
(将数据库选定为 名为 pxscj 数据库)

选定数据库后接下来我们就开始来学习查询。
sql 最基本的语句 “ select ”
规则如下:
在这里插入图片描述
其中,使用 ‘ * ’ 来表示一个表中的所有行。
例:

use pxscj
go
select *
from xsb
go
查询 pxscj 数据库中的 xsb 表 的全部内容

使用select语句选择一个表中的某些列,各列之间要以逗号(,)分割
例:

select 姓名,专业,总学分
	from xsb
go
在 xsb 表中查询各个学生的姓名,专业,总学分

sql server 2008中还能一次执行多个查询。

其中 还可以定义列别名。

查询 xsb 表中各个学生的学号,姓名,总学分,并且依次将标题指定为:number,name,mark
select 学号 as number,姓名 as name,总学分 as mark
	from xsb
go

其中 as 也可以用 ‘=’ 来带替
例
number = 学号   顺序相反
当 替换名中含有空格时, 要用''来括起来
例
'Student number' = 学号
  • 与select 连用的 where 子句

where 是 select 的查询条件,where 语句必须紧跟在from子句的后面,

查询 xsb 表中学号为‘081101’的同学的情况
select *
	from xsb
	where 学号 =  '081101'

也可以用于比较

查询 xsb 表中 总学分 大于50 的同学的情况
select *
	from xsb
	where 总学分 > 50
go
在 where 语句中 还可以引入逻辑运算符例如 not and or

替换查询中的数据

  • 要替换查询中的数据,则要使用查询中 case表达式
  • 格式为:
  • 在这里插入图片描述

例:

use pxscj 
go
select 学号,姓名,等级 = 
	case 
		when 总学分 is null then '尚未选课'
		when 总学分 < 50 then '不及格'
		when 总学分 >= 50 and 总学分 <=53 then '及格'
		else '优秀'
	end
	from xsb
	where 专业 = '计算机'
go
  • 消除重复行
    对表只选择某些列时,会出现重复行,为了消除重复的数据,我们使用 distinct
select distinct 学号,总学分
	from xsb
  • 限制结果集返回行数

如果select 语句返回的结果集非常的多,那么可以使用 TOP 选项限制其返回的行数。

例:

select top 6 姓名,专业,总学分
	from xsb
go

聚合函数

  • 最重要,最常用的五个 : SUM AVG MAX MIN COUNT
select count(*) as '学生总数'
	from xsb

select sum(成绩) as '课程101的总成绩'
	from xsb
	where 课程号 = '101'

select avg(成绩) as '课程101的平均成绩'
	from xsb
	where 课程号 = '101'
select max(最大成绩) as '课程101的最大成绩'
	from xsb 
	where 课程号 = '101'
	
select min(最小成绩) as '课程101的最小成绩'
	from xsb 
	where 课程号 = '101'
  • 模式匹配 (模糊搜索)
  • 在这里插入图片描述
select *
	from xsb
	where 姓名 like '王_'
go
查询xsb 表中姓王 的同学的情况
  • 范围比较 (in)

在这里插入图片描述

select *
	from xsb
	where 专业 in ('计算机','通信工程')
go
查询 xsb 表中专业为 ‘计算机’或‘通信工程’ 专业学生的情况。

下一篇 写子查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值