sql学习笔记

    xiaoxiao2021-03-25  154

    sql学习笔记: 1、sql中多个表之间的左连接: select tb1.* , tb2.* , tb3.* from tb1  left join tb2 on tb1.关键字 = tb2.关键字 left join tb3 on tb1.关键字 = tb3.关键字 select tb1.* , tb2.* , tb3.* from tb1  left join tb2 on tb1.关键字 = tb2.关键字 left join tb3 on tb2.关键字 = tb3.关键字 sql中一个表对多个表的多个字段的左连接: from #zydt12 a left join #zdzl b on a.yjks = b.yjks and a.ejks=b.ejks and a.ksdm=b.ksdm left join #sszl c on a.yjks=c.yjks and a.ejks=c.ejks and a.ksdm=c.ksdm  2、(工具使用)sql Server Profiler 使用,可以跟踪sql语句的执行,通过SQL Server Profiler 跟踪程序或者数据库运行过程中SQL的执行信息。然后分析sql耗时,从而明确优化点,在选择事件中的各个列中可以按要求设置自己的跟踪,过滤程序的ID等,数据库ID,列名。 在任务管理器中可以看到应用程序的进程id sp_helptext是显示规则、默认值、未加密的存储过程、用户定义函数、触发器或视图的文本。sp_helptext statisticMzgkyszlgzlreport--存储过程,在这里可以显示存储过程的文本(未加密的)。 <--> 3、distinct用法:(1)作用于单列:select distinct name from A (2)作用于多列:select distinct xing, ming from B  (3)count 中使用:select count(distinct name) from A;  --表中name去重后的数目, SQL Server支持,而Access不支持 <--> 4、在sql中修改某列的值: update Treport  set fname = '主治医师工作量统计' where FID=439 修改Treport表中fid为439的fname列的值为'主治医师工作量统计' <--> 5、(工具使用)在sqlserver中查找表,存储,用筛选器,过滤筛选 <--> 6、在sqlserver数据库中的存储过程中返回数据集给程序: if @datetype = 5  begin --select * from #Tzypart4report order by fpx --drop table #Tzypart4report select * from #Tadreport drop table #Tadreport return end 若没有注释上面部分,则该存储过程返回两个结果集,如果在代码接收结果集地方没有写接收多个结果集,则只会接收第一个; <--> 数据 库中如果表名想定义成变量就要用动态语句 create proc usp_SelectCount @table varchar(200) as declare @sql varchar(max) set @sql='select count (*) from '+@table exec(@sql)
    转载请注明原文地址: https://ju.6miu.com/read-2740.html

    最新回复(0)