数据库
文章平均质量分 57
数据库相关的文章
imcholl
前端工程师
展开
-
SqlServer Left Join 右表有多条数据,根据条件筛选一条
1. Row_Number() OVER() 函数语法:Row_Number() OVER (partition by 分组字段 order by 排序字段 desc)select a.*,b.*from 表A as aleft join(select id, rightid,Row_Number() over(partition by id order by id desc) as rownumfrom 表B) as bon a.id=b.idwhere b.rownum=1 and a原创 2022-05-05 15:01:33 · 4416 阅读 · 0 评论 -
SqlServer 处理百万级以上的数据如何提高查询速度
应尽量避免在 where 子句中使用!= 或 <> 操作符,否则将引擎放弃使用索引而进行全表扫描。对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在 num 上设置默认值 0,确保表中 num 列没有 null 值,然后这样查询: select..原创 2022-05-08 15:30:59 · 6084 阅读 · 0 评论 -
SQL模糊查询时特殊字符的处理方式总结
有两种方案一:将参数中的 [ 替换成 [[], % 替换成 [%], _ 替换成 [_];(推荐用这种方案处理)二:先将参数中的 \ 替换成 \, [替换成[ , % 替换成 %, _ 替换成 _;然后在每个需要like查询的字段后加上escape ‘’。注:sqlserver2005测试通过Oracle只能既改参数,又改SQL语句。先将参数中的 \ 替换成 \, % 替换成 %, _ 替换成 _;然后在每个需要like查询的字段后加上escape chr(92 USING NCHAR_C原创 2022-06-27 22:18:17 · 1760 阅读 · 0 评论