数据库的附加 分离
在数据库上点右键即可,具体略。。。
use stu 数据库中写sql语句时要用的,因为你要指定哪个数据库才能做更进一步的操作
ssms中查询时,右键选中语句,可只执行选中的
查询数据
最基本,最重要,最麻烦的
SELECT 语句 sql查询语句
SELECT 列名 FROM 表名
SELECT xx 分行写语句,这样比较好看
FROM xxx
可以同时查多个 用逗号 ,隔开 如图
查询所有的列 * 星号 代表所有
去掉重复 DISTINCT
( 关键字写在SELECT之后 )
把籍贯这一列中的重复数据去掉,操作如下
它只针对某一列去重哦
TOP 返回指定数目的记录
返回8行,就 TOP 8
- | column 二选一,*代表整个表,column代表某一列,下图中就是选的籍贯这一列
示例语句如下
去掉重复数据后,后面数据会往前补。
这时有个问题,top 3 和 distinct 会冲突吗?如果记录只有3行你又要返回3行且去重。测试结果是:返回两行,因为要满足去重。。。。
查询,起新名
放心,只是查询而已,对原表没影响。。
方法1 列名 ‘别名’法
示例: 同时查多个,起多个名字
方法 2 用等号 =
这个方法要先写别名,然后等于列名
方法3 AS关键字
(这种最常见,注意)
计算列
起别名,再加上一个小计算
选择查询 WHERE
支持比较、范围、列表、字符串匹配等方式
比较运算符有
示例:
逻辑运算符
加上and
BETWEEN 闭区间 包含两头哦
还可以加上not , not between
注意若是字符串类型,加引号
列表搜索条件
IN 关键字
搜索条件中的字符匹配符 LIKE关键字
% 替代零个或多个字符
_ 仅替代一个字符
[ ] 代表指定范围内的单个字符,可以是 [acef]也可以是[a-f]
[ ^ ] 代表不在范围内的单个字符,可以是 [ ^ acef]也可以是[ ^a-f ]
示例语句 like和%
上图查询结果如下:
示例语句 like 和 _
上图中 % 换成 _ ,结果呢?
【 】的使用
要求名字中,所以第一个是姓,用_,然后【大小】,%在后面.注意:%要是删了,就代表只有两个字哦。
同理,查找不包含的,用 ^
查找姓王,或姓张的办法如下:
这个地方,灵活应用。
空值 NULL
表示不确定的值。如学生没考试,成绩不是0,而是空。
所以判断时,不用比较运算符,而用 is is not
示例 is null 或者is not null
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200613091039678.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM3NTM3NjI0,size_16,color_FFFFFF,t_70
聚合函数
常用的查询方法哦
下图是 数据库中出现的 5个聚合函数
count是统计行或记录个数的
注意一点:count统计,会把空值null算进去。
注意语法,放在select后,不用写where了
使用聚合函数养成起别名的习惯最好
select 聚合函数 from 表名
示例:
还记得起别名吗,这时候用比较好
其他最大 最小 平均
count
可以具体指定那一列, count (列)
去重
会有重复情况,这时候 distinct
分组 GROUP BY
group by 后面是哪个,select后面就要是哪个。如例子中的年级
示例:
having
和group by 一起使用。在group by 之后
类似where,但where不能包含聚合函数,而having可以哦
注意用having 而不用where
排序 ORDER BY
默认是升序,要想降序:使用 DESC
示例
降序的加 desc
这两个的结果如下:
未完待续。。。。。