SQL是一种专门操作数据库的语言。分为三大类分别为
DDL(定义数据库):如创建表(create)、修改表(alter)、删除表(drop)
DML(操作数据库):查找数据(select)、新增数据(insert)、修改数据(update)、删除数据(delete)
DCL(数据权限控制):授权(grant)、撤销授权(revoke)
- 查询
语法:
Select 列名 from 表名;
Select后面跟的是列名,可以查一个列或查多的列,也可以直接查一个*号表示查询所有列。查询多个列时要用逗号隔开。
From后面跟的是你要查询数据的表
表的存储位置的写法:先指定哪个库再写模式名然后表名
如果在创建数据库连接的时候已经指定了是哪个库,就默认在当前库下查找这个模式然后再去查找这个表
库名 模式名 表名
写语句时不要写成一行,最好每个关键字做个换行,这样子更美观。
例:select * from dbo.teacher ;
- 对数据进行排序
Order by排序,默认下为升序,如果想让它为倒序就在排序字段后面加desc,ASC升序,因为默认就是升序所有可以省略不写。
语法: Order by 需要排序的列名
如果我们想让多个列进行排序,就可以在order by后面写多个字段,但是字段的顺序会影响排序结果。
例:select * from
order by
;
倒序:select * from
order by score desc
Len()可以计算出这个字符串有多少个字符
可以按照列的序号位置排序
例:select * from
order by len(tname) desc
;
- 限制返回行数
Select top用于限制结果集中返回的行数或百分比
在查询前多少行的时候建议把order by加上,防止出现不可预估的数据。数据多了就会发生变化。
语法:select top (要返回的行数)percent [ with ties]
From 表名
Order by 字段;
注:percent指的是查询返回前N行百分比
例:select top 3 * from
order by score desc
;
With ties匹配
出其他与最后一行的字段结果相同的值,把最后一名的相关字段的值在数据库中都被拿出来。可能会导致返回的行数多余表达式中指定的行数。
在常规使用中比较少,但是在一些统计分析或者报表中的一些功能中用到,因为它是一个关联性的查询。
例:select top 3 with ties * from
order by sno,score desc
;
Offset和fetch实现数据库中的分页查询,必须与order by连用,没有order by这两个句子可能连接不起来,会出错。所以要紧跟在order by之后才能起作用。用于限制查询返回的行数,但是比top强大。可以限制从多少行到多行。
Offset 指定开始从查询返回行之前要跳过的行数
Fetch返回显示多少条
语法:
Order by 字段
Offset (num-1)*size rows
Fetch next size rows only
注:num第几页 size每页的条数,每页的条数至少要大于1
例:select * from
order by
offset 0 rows
fetch next 3 rows only;
以上就是和大家分享的知识点。