增删改查
增
-
增加单条数据
insert into Department(DepartmentName,DepartmentDesc) values('研发部','这是研发部')--插入单条数据
-
多条
/*insert into [Rank](RankName,RankDesc) select 'A','A级'union select 'B','B级'union select 'C','C级' --插入多条数据 */
删
-
语法
delete from 表名 where 条件
-
删除员工表所有记录
delete from Employee
-
删除研发部中工资大于10000的员工
update Employee set EmployeeSalary = 10000 where DepartmentId =1 and EmployeeSalary<=10000
-
--关于drop delete truncate
--drop 删除表
--delete 可选删,加入删除自动编号为1,2,3数据,删除数据后,编号将被永远删除,之后再添加数据编号从4,5,6开始
--truncate 必须全部删除表中数据,清空数据后再添加编号依然从1,2,3开始
改
- 语法
update 表名 set 字段1=值1,字段2=值2 where 条件
-
工资调整,每个人工资增加1000
update Employee set EmployeeSalary +=1000
-
将员工编号为6的工资加100
update Employee set EmployeeSalary +=100 where EmployeeId = 6
-
将研发部工资低于10000的涨到10000
update Employee set EmployeeSalary = 10000 where DepartmentId =1 and EmployeeSalary<=10000
查
-
查询所有列
select * from Department
-
查询指定列
select EmployeeName,EmployeeSalary from Employee
-
指定查询后的中文名
select EmployeeName 员工名,EmployeeSalary*1.2 加薪资后工资 from Employee
条件查询
select * from Employee where EmployeeSalary>=10000 and EmployeeSalary<=20000
select * from Employee where EmployeeSalary between 10000 and 20000
- 排序
select * from Employee order by EmployeeSalary asc --默认为asc可不写
select * from Employee order by EmployeeSalary desc --逆序
select top 5 * from Employee order by EmployeeSalary desc --工资最高的5个人
select top 10 percent * from Employee order by EmployeeSalary desc --工资最高的10%个人
-
null 查询地址没有填写或填写了地址的员工信息
select * from Employee where EmployeeAddress is null select * from Employee where EmployeeAddress is not null select * from Employee where EmployeeAddress=''--空字符串
-
查询工资比大乔高的人的信息
select * from Employee where EmployeeSalary>(select EmployeeSalary from Employee where EmployeeName = '大乔')
模糊查询
like
与通配符搭配
通配符 含义
- % 包含零个或更多字符的任意字符串。
_(下划线) 任何单个字符。
[ ] 指定范围(例如 [a-f])或集合(例如 [abcdef])内的任何单个字符。
[^] 不在指定范围(例如 [^a - f])或集合(例如 [^abcdef])内的任何单个字符。
eg
- LIKE '赵%' 将搜索姓赵的人名或者说以汉字‘赵’ 开头的字符串(如 赵刚、赵小刚等)。
LIKE '%刚' 将搜索以汉字‘刚’结尾的所有字符串(如 刘刚、李小刚等)。
LIKE '%小%' 将搜索在任何位置包含汉字‘小’的所有字符串(如赵小刚、李小刚、山本小郎等)。
LIKE '_小刚' 将搜索以汉字“小刚”结尾的所有三个汉字的名称(如 李小刚、赵小刚)。
select * from Employee where EmployeePhone like '183[0-5]%[^2,3]' --前三位为183,第四位为0-5,最后一位不是2,3
SUBSTRING
select * from Employee where SUBSTRING(EmployeeName,3,1) = '香' --从第三个位置截取一个
聚合函数
-
AVG
在 SQL Server 中,
AVG()
函数是用于计算指定列中所有数值的平均值的聚合函数。 -
COUNT
在 SQL Server 中,
COUNT()
函数是用于计算指定列或表达式中的行数的聚合函数。 -
MAX
在 SQL Server 中,
MAX()
函数是用于计算指定列或表达式中最大值的聚合函数。 -
MIN
在 SQL Server 中,
MIN()
函数是用于计算指定列或表达式中最小值的聚合函数。 -
SUM
在 SQL Server 中,
SUM()
函数是一个聚合函数,用于计算指定列的数值之和。
综合案例
select count(*) 员工总数,max(EmployeeSalary) 最高工资,min(EmployeeSalary) 最低工资,SUM(EmployeeSalary) 工资总和,ROUND(AVG(EmployeeSalary),3) 平均工资三位小数 from Employee
热门相关:聊斋大圣人 美漫之大冬兵 伏天剑尊 永恒王权 我在镇夜司打开地狱之门