SQL专项练习31

FROM 子查询 必须要有别名

select ...

from (

select ... from ...

) AS 别名

ALL 对所有数据都满足条件,整个条件才成立

where 字段 >= all() 等价于 MAX() <=all() 等价于 MINNY

ANY 只要有一条数据满足条件,整个条件成立

where 字段>=any() 等价于 >min() <any() 等价于 <max

SQL Server中每一条select、insert、update、delete语句都是隐形事务的一部分,

显性事务用BEGIN TRANSACTION明确指定事务。

声明游标语法中的 insensitive 参数,表示声明一个静态游标

当select语句中使用 distinct 、group by 、having 、union 语句时,游标将会自动设定 insensitive 选项

& 位与运算

对于一个数(a)来说: a与1的结果如果为1,则这个数是奇数,如果为0,则这个数是偶数

Mysql中表student_table(id,name,birth,sex),删除name重复的id最大的记录,比如'张三'重复2次,id分别是1、2,则删除id=2的记录,保留id=1的记录。

delete t0
from 
student_table t0
inner join
(
  select t2.*
  from
  (select name,count(*) as c1 from student_table GROUP BY name having c1 > 1) t1  -- 有重复的姓名
  left join
  (select name, max(id) as id from student_table group by name ) t2  -- 姓名 id最大值
  on t1.name = t2.name 
) t3 -- 重复姓名 的 id最大值
on t0.id = t3.id ;

SQL专项练习 文章被收录于专栏

SQL专项每日练习,错题

全部评论

相关推荐

昨天 11:07
河南大学 Java
宇宙厂 测开 n*15
丘丘给个offer:有后选后
点赞 评论 收藏
分享
尊嘟假嘟点击就送:加v细说,问题很大
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务