
SQL与数据库
SQL与数据库
碧山云游
Life sometimes is boring,so i sometimes do some boring thing to avoid it
展开
-
Sql Server 调用接口
【代码】Sql Server 调用接口。原创 2024-05-25 18:18:53 · 919 阅读 · 0 评论 -
Sql Server的Cross Apply用法
意味着结果集中将包含使右表表达式为空的左表表达式中的行结果集中不包含使右表表达式为空的左表表达式中的行。转载 2022-09-18 14:47:42 · 3195 阅读 · 0 评论 -
mysql查看sql日志操作
代码】mysql查看sql日志操作。原创 2022-08-03 14:04:56 · 2645 阅读 · 0 评论 -
sql server partition by 使用样例
代码】sql server partition by 使用样例。原创 2022-08-02 17:57:51 · 159 阅读 · 0 评论 -
sq server ROW_NUMBER () 实现分页功能
代码】sq server ROW_NUMBER () 实现分页功能。原创 2022-08-02 17:47:13 · 202 阅读 · 0 评论 -
sql server cte样例
sqlservercte样例。原创 2022-07-19 13:22:26 · 163 阅读 · 0 评论 -
sql server 实现foreach样例(非游标)
sqlserver实现遍历每天记录,并实现相应的业务逻辑的样例。原创 2022-07-19 13:19:35 · 686 阅读 · 0 评论 -
sql server 触发器的应用
两个表,一个时“账户信息表”(字段:卡号、姓名、开户行),其中,卡号设置了主键,只能唯一;另一个表时“交易明细表”(字段:交易卡号、 交易方姓名 、交易时间 、交易金额、对手卡号、对手名称)如何用触发器,在添加交易明细时候,自动将交易卡号和交易对手卡号及交易双方姓名增加在账户信息表的卡号字段/姓名字段里,已存在的不添加。...原创 2022-06-22 10:35:23 · 182 阅读 · 0 评论 -
sql server查询当天的数据
sql 查询当天数据原创 2022-06-16 22:12:19 · 2152 阅读 · 0 评论 -
update inner join 示例
update join 示例sql原创 2022-06-16 22:09:18 · 288 阅读 · 0 评论 -
sql获取用户连接签到的时间
sql查询用户连续签到的时间原创 2022-06-16 22:07:05 · 194 阅读 · 0 评论 -
数据备份与cursor
-- 1 - Declare Variables-- * UPDATE WITH YOUR SPECIFIC CODE HERE *DECLARE @name VARCHAR(50) -- database name DECLARE @path VARCHAR(256) -- path for backup files DECLARE @fileName VARCHAR(256) -- filename for backup DECLARE @fileDate VARCHAR(20) -- us.原创 2022-02-18 22:51:14 · 261 阅读 · 0 评论 -
Refresh the matching relational stored procedure
USE [H_SO_DB_test]GO/****** Object: StoredProcedure [dbo].[sp_check_compare_system_onl] Script Date: 2022/2/18 22:46:03 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: jzx-- Crea.原创 2022-02-18 22:47:37 · 113 阅读 · 0 评论 -
SQL Server profile使用技巧
介绍经常会有人问profile工具该怎么使用?有没有方法获取性能差的sql的问题。自从转mysql我自己也差不多2年没有使用profile,忽然profile变得有点生疏不得不重新熟悉一下。这篇文章主要对profile工具做一个详细的介绍;包括工具的用途和使用方法等。profile是SQLServer自带的一个性能分析监控工具,它也可以生成数据库引擎优化顾问分析需要的负载数据,比如开发对功能进行调试需要收集执行sql使用profile就是一个非常好的办法,profile主要用于在线实时监控和收集数据用于转载 2022-02-11 19:41:28 · 4510 阅读 · 0 评论 -
refresh MatchRelationship sql
USE [H_SO_DB_test]GO/****** Object: StoredProcedure [dbo].[sp_check_compare_system] Script Date: 2021/12/28 10:42:54 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author: jzx-- Create .原创 2022-02-09 10:52:18 · 81 阅读 · 0 评论 -
sql server 实现like in 查询
现有两张表如下:select * from KeyWordselect * from Food我想要实现如下效果:select * from Food where Food.foodName like '%果%' or Food.foodName like '%杏%' or Food.foodName like '%蕉%' 从Food表中匹配出有KeyName表中关键字的水果名称。就如同实现了like in的效果。你可以通过如下s..原创 2021-11-26 20:27:43 · 6331 阅读 · 0 评论 -
sql where条件语句中同时包含and,or注意加括号
sql where条件语句中同时包含and,or注意加括号https://blog.youkuaiyun.com/qq_16383977/article/details/79596377原创 2021-10-10 11:56:58 · 2208 阅读 · 0 评论 -
sql关联子查询
select a,(select b from B) b from A以上的例子就是关联子查询在select的查询字段里面再嵌套一个select一文详解SQL关联子查询https://mp.weixin.qq.com/s?src=11×tamp=1633597555&ver=3360&signature=BzqwwBlMDp2PHUKIkPVuPNeFP*hST9ZeEmWTgMiTixIlF-k*hrvOuaCgcK9-p-oCLQHIGfkQT1LkZiwYbL1s8..原创 2021-10-07 17:10:51 · 157 阅读 · 0 评论 -
获取一个结果集的行数:count(*)和派生表的使用
select * from customers where salesRepEmployeeNumber=( select employeeNumber from employees where jobtitle="sales rep" limit 1) ;结果集:计算行数:select count(*) from(select * from customers where salesRepEmploy..原创 2020-10-21 17:40:34 · 517 阅读 · 0 评论 -
动态sql
SQL Server 动态SQL拼接_PinkCoder-优快云博客_sql动态拼接在多添加搜索数据时,大多会使用到动态SQL搜索,当搜索栏目中存在string,Guid,decimal等类型数据时,要注意拼接时数据类型转换,方法如下:方法一:使用 SQL Server中的存储过程(StoredProcedure),在存储过程中拼接SQL,SQL拼接的语句为字符串,当我们去拼接Guid等特殊类型时就需要去转换成字符串,如果直接拼接,SQL会直接报错。具体如下:ALTER P...https://blog.转载 2021-09-09 21:11:30 · 90 阅读 · 0 评论 -
sql编程
原文链接:SQL编程 - 张柯宇 - 博客园转载 2021-09-09 21:06:20 · 115 阅读 · 0 评论 -
SQL高级知识V2——临时表
原文地址:https://mp.weixin.qq.com/s/Bjcu6Fa82RQ0_FX7WQsu6Q临时表定义临时表与实体表类似,只是在使用过程中,临时表是存储在系统数据库tempdb中。当我们不再使用临时表的时候,临时表会自动删除。临时表分类临时表分为本地临时表和全局临时表,它们在名称、可见性以及可用性上有区别。临时表的特性对于临时表有如下几个特点: 本地临时表就是用户在创建表的时候添加了"#"前缀的表,其特点是根据数据库连接独立。只有创建本地临时表的..转载 2021-09-04 14:07:44 · 830 阅读 · 0 评论 -
02-流程控制
原文地址:https://www.jianshu.com/p/3f359d56476c一、选择分之结构(1)某用户银行卡号为“6225547854125656”,该用户执行取钱操作,取钱5000元,余额充足则进行取钱操作,并提示"取钱成功",否则提示“余额不足”。declare @balance moneyselect @balance = (select CardMoney from BankCard where CardNo='6225547854125656')if @bal转载 2021-09-04 14:02:29 · 114 阅读 · 0 评论 -
SQL高级知识V2——流程控制
原文地址:https://mp.weixin.qq.com/s/nSkCDZF2H3Q2QESrgywcqASQL高级知识V2——流程控制流程控制的定义一般是指用来控制程序执行和流程分至点额命令,一般指的是逻辑计算部分的控制。流程控制种类常见的流程控制有以下8种BEGIN ... END WAITFOR GOTO WHILE IF ... ELSE BREAK RETURN CONTINUE 下面给大家具体介绍每种流程..转载 2021-09-04 13:58:25 · 174 阅读 · 0 评论 -
sql server,求出每个班级中的人的最大年龄的所有信息
Student表:方法一:嵌套查询select s2.* from ( select class,max(age) Age from Student group by class ) s1 left join Student s2 on s1.class=s2.class and s1.age=s2.age;结果集:.原创 2021-07-25 14:57:55 · 9151 阅读 · 0 评论 -
sql server中的派生表写Order by报错。
解决方案:select * from(select distinct TOP 100 percent Salaryfrom Employee order by Salary desc ) temp原创 2021-07-23 22:26:37 · 278 阅读 · 0 评论 -
Oracle创建视图没有权限
需要对当前用户赋予权限,先要切换成sys用户,然后去执行以下的命令grantcreateviewto scott;但我现在切换成sysdba用户都不成功....太不友好了,Oracle.原创 2021-07-09 22:16:11 · 207 阅读 · 0 评论 -
sqlserver:统计各个用户最长登陆时长
建表:CREATE TABLE T0709 ( UID VARCHAR(10), LOADTIME DATE) INSERT INTO T0709 SELECT '201','2017/01/28' UNION ALLSELECT '201','2017/01/29' UNION ALLSELECT '202','2017/01/29' UNION ALLSELECT '202','2017/01/30' UNION ALLSELECT '203','2017/01/3原创 2021-07-09 10:37:31 · 501 阅读 · 0 评论 -
Oracle:根据身份证号,统计每天有多少用户过生日
SELECT COUNT (ID) 人数, BD 生日FROM ( SELECT ROW_NUMBER () OVER ( PARTITION BY SUBSTR (AAC002, 11, 4) ORDER BY SUBSTR (AAC002, 11, 4) ) id, SUBSTR (AAC002, 11, 4) BD FROM GLOBAL_COMPANY_USRINFO WHERE SUBSTR (AAC002, 11, ...原创 2021-07-08 14:36:44 · 241 阅读 · 0 评论 -
SqlServer:sql添加外键约束
--新闻分类表if exists(select * from sysobjects where name='NewsCategory')drop table NewsCategorygocreate table NewsCategory --新闻分类( CategoryId int identity(1,1) primary key , CategoryName varchar(20))go--新闻表if exists(select * from sysobjects wher...原创 2021-07-02 17:28:59 · 3650 阅读 · 0 评论 -
oracle数据库中varchar2陷阱
oracle数据库相信大家都比较熟悉,数据库中有一种非常常用的数据类型:字符串型。 对应该类型,在oracle中有三种比较常用的类型:varchar2(byte)、varchar2(char)、nvarchar2()。 那么这三种类型到底有什么区别呢? 首先,我们要时刻记清:无论是varchar2还是nvarchar2,最大字节数都是4000。varchar2(byte):就是默认的表示方式,比如我们写成:varc...转载 2021-06-29 17:47:38 · 1427 阅读 · 0 评论 -
Oracle中rownum实现分页
代码:select * from (select rownum as no ,id,name from student)where no>=2 and no<=4;参考:Oracle Top-N分析法Oracle rownum的用法原创 2021-03-21 17:48:51 · 173 阅读 · 0 评论 -
T-SQL try catch的使用
IF EXISTS ( SELECT * FROM sys.databases WHERE name = 'DBTEST')BEGIN PRINT 'DBTEST数据库存在' ;IF object_id(N'PEOPLE', N'U') IS NOT NULLBEGIN PRINT '表PEOPLE存在' ; --向员工表添加数据 BEGIN try INSERT INTO People ( DepartmentId, RankId, PeopleNa..原创 2021-06-23 15:36:28 · 284 阅读 · 0 评论 -
T-SQL case when的使用
SELECT t1.PeopleName as 姓名,t1.PeopleSex as 性别,t1.PeopleSalary as 工资 ,t1.PeoplePhone as 电话,t1.PeopleBirth as 生日,case when year(t1.PeopleBirth) % 12 = 4 then '鼠' when year(t1.PeopleBirth) % 12 = 5 then '牛' when year(t1.PeopleBirth) % 12 = 6 then..原创 2021-06-23 15:41:17 · 447 阅读 · 0 评论 -
T-SQL sql拼接
sql拼接脚本如下:declare @sql varchar(max)declare @sqlCol varchar(max)SELECT @sqlCol = ISNULL(@sqlCol + ',','') + ExamSubject FROM TB_Exam GROUP BY ExamSubjectset @sql = ' select * from 'set @sql = @sql + ' (select TB_Student.StuId,StuName,ExamScore,ExamS.原创 2021-06-23 16:52:43 · 468 阅读 · 0 评论 -
T-SQL 分页
--方案一:top分页declare @PageSize int = 5 --分页大小(一页有几条数据)declare @PageIndex int = 1 --当前页select top(@PageSize) * from Student where StuId not in (select top ((@PageIndex-1)*@PageSize) StuId from Student)--方案二:row_number分页declare @PageSize int = 5 --分页.原创 2021-06-24 10:01:18 · 210 阅读 · 0 评论 -
T-SQL 通过函数调用来求人的年龄
select *,dbo.GetAgeByBirth(empBirth) 年龄 from Emp--求年龄DROP function GetAgeByBirthcreate function GetAgeByBirth(@birth smalldatetime)returns intasbegin declare @age int set @age = year(getdate()) - year(@birth) if month(getdate()) .原创 2021-06-24 11:16:32 · 495 阅读 · 0 评论 -
T-SQL 触发器的使用
create trigger tri_InsertPeople on Peopleafter insertasif not exists(select * from Department where DepartmentId = (select DepartmentId from inserted)) BEGIN print '不存在' insert into Department(DepartmentId,DepartmentName) values(.原创 2021-06-24 14:09:10 · 144 阅读 · 0 评论 -
存储过程样例
if object_id('proc_MinMoneyCard') is not nulldrop proc proc_MinMoneyCardgoCREATE proc proc_MinMoneyCardAS SELECT '我要开始查询了' 输出 SELECT top 1 CardNo 银行卡号 ,RealName 姓名 ,CardMoney 余额from BankCard inner join AccountInfo on BankCard.AccountId=.原创 2021-06-24 16:22:41 · 211 阅读 · 0 评论