学习SQL的过程有进步的话还是一件很美妙的事情的

在第一家公司虽然只呆了两年,但是感觉是我进步最快的两年。那时候工作和生活都挺充实的,每天都有一点点的收获和付出,其中最大的收获莫过于掌握一些核心技能。

在这两年里,工作上有不懂的基本上都是自己先想办法去解决,然后才是问度娘,最后才是找我的上司。因为是新手的缘故吧,只要有人能告诉我一点技巧性的东西,我都会用SQL语句记录下来,久而久之到我离职的时候,竟然有好几百个SQL脚本了。我想这应该算得上是一个好习惯!

另外一个就是从度娘上也找到了不少有用的东西,那时候每天都是给业务部门提数据,随着对业务的不断了解,我的上司也给了我一些新的任务。好些东西工作中虽然都用过,但是一些流程性的东西如果用平时的SQL去实现还是感觉有点费劲,所以就找度娘看看有没有什么好的方法。那时候找到的一个参数化的方法,感觉效率还不错。大致的语句如下:

DECLARE @DEPTID VARCHAR2(20)
DECLARE @DEPTNAME VARCHAR2(50)
SET @DEPTID='170101'
--用SET方法给变量赋值 , 此方法一次只能给一个变量赋值
SELECT @DEPTNAME=DEPTNAME FROM DEPT WHERE DEPTID=@DEPTID
--查询部门ID为'170101'的部门名称赋值给@DEPTNAME变量 ,此方法能一次多个变量赋值

这样在查询的时候就只需要将@DEPTID的值传进去就可以完成获取该参数对应的@DEPTNAME,省掉了许多重复输入参数的工作。当然这只是一个简单的例子,只能解决一些简单的问题。一些复杂的写法就要用到游标和循环之类的啦,这里暂时不探讨了。所以多问问度娘还是有好处滴!这里还要说一下问度娘的方法,有些时候之所以我们找不到符合自己问题的网页,很大部分原因是因为我们输入的关键字的原因。这个我也是问多了发现的一个小技巧,平时遇到的一些问题你得用最短的语句来描述他们。大家可以慢慢去体会一下。

至于我的上司,我之前说过他是我非常感激的一个人,因为他真的教会了很多东西,不只是技术问题。

在给各个部门提数据的时候难免会碰到一些问题,经常会遇到说我提的数据有问题的时候。开始的时候我总会觉得是别人的需求没给清楚或者他们没理解我数据的意思,总之就不是我的问题,为此得罪了一些业务系的同事。投诉到我上司那里被好好教育了一番,为什么不说批评?因为我的上司更多的是从业务系的同事的角度出发,我们作为提供数据的人,首先肯定是得弄清楚需求,不管别人的需求怎么样,你得搞清楚再去做,哪怕有一点里觉得模棱两可这数据都有可能出现问题;其次就是数据出现问题,首先应该仔细检查自己的查询逻辑是否正确。如果这些都没问题,那你也要听业务系的同事觉得哪里有问题才是。而不是自己说自己需求明确,逻辑正确就不管事了。说到底就是要冷静的处理同事的问题,帮他们解决才是正道!

        上司的一席话,让我醍醐灌顶,真的。有些领导可能就会直接批评你几句,但是就是不说问题原因和解决之道(当然,这些并不是他们的义务),只是说有个人告诉你该怎么做的时候你应该感激他,让你少走了那么多弯路。希望我的一些经历能帮助到大家!

SQL Server变量杂谈的更多相关文章

  1. SQL Server变量赋值的方法

    SQL Server变量赋值我们经常会遇到,下面就为您介绍SQL Server变量赋值的两种方法,希望可以对您学习SQL Server变量赋值有所帮助. SQL Server中对已经定义的SQL Se ...

  2. SQL SERVER 变量的使用和样例

    定义和使用局部变量:说明: 局部变量是用户可自定义的变量. 作用范围仅在程序内部. 局部变量的名称是用户自定义的,命名的局部变量名要符合SQL Server 2000标识符命名规则=>以@开 在 ...

  3. sql server 变量 字符串拼接

    参考:SQL server中null+字符串,isnull以及把查询结果赋给一个字符变量组成另一个查询语句  1.开始定义的字符串都为null.例如:declare @sql,那么@sql就是null ...

  4. 数据库开发基础-SQl Server 变量、运算符、if、while

    变量: SQL语言也跟其他编程语言一样,拥有变量.分支.循环等控制语句. 在SQL语言里面把变量分为局部变量和全局变量,全局变量又称系统变量. 局部变量: 使用declare关键字给变量声明,语法非常 ...

  5. SQL server 变量、运算符

    一.三个表的练习 表一:学生表 student学号:code int (主键)从1开始姓名:name varchar(50)性别:sex char(10)班级:banji char(10)语文教师编号 ...

  6. (4.24)sql server变量中set与select的区别

    SET vs SELECT是SQL极客之间讨论的常见话题,也是最受欢迎的面试问题之一.SET用于为变量赋值,SELECT用于赋值或从变量/ table / view等中选择值. 让我们看看在不同场景中 ...

  7. SQL server 变量if,while,存储过程

    一.变量 1.if循环 2. 3.while循环 declare @ss int set @ss =2while @ss<10begin print 'Hello' set @ss=@ss+1e ...

  8. SQL Server 变量定义

    declare @id intdeclare @name char(10) --注意:char(10)为10位,要是位数小了会让数据出错set @id=1 set @name='sssss'selec ...

  9. sql server 变量和select 赋值的联合使用demo

    ) ) select @cltcode=cltcode,@brand=brand from prosamplehd CREATE table #t ( cltcode ), brand ) ) INS ...

随机推荐

  1. SQL 语句 merge into

    MERGE INTO tb_st_shxxcount tt USING ( SELECT DISTINCT sd.CODE, COUNT (ts.LRDW) count1, TO_CHAR (ts.L ...

  2. LD-sketch源码阅读

    目录 util.h hash.hpp/cpp mangle函数 GenHashSeed函数 AwareHash模块 LDSketch.hpp/cpp LDSketch更新函数,对一个sketch插入键 ...

  3. CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第二件事就是 LED 驱动 ,点个灯

    /* * board_led.c * * Created on: 2018年7月3日 * Author: admin */ #include "board_uart.h" #inc ...

  4. VS2012打开Web项目提示《ASP.NET 4.X 尚未在Web服务器上注册。你需要手动将...》解决方案

    用VS12创建的WEB项目时,默认使用IIS Experess开发服务器,但是每次打开会提示如下提示 但是同一个项目用VS13或VS15打开时,就能正常打开,不会出现以上提示信息. 怀疑是IIS Ex ...

  5. C++获取毫秒级时间戳

    #include<chrono>   auto timeNow = chrono::duration_cast<chrono::milliseconds>(chrono::sy ...

  6. python 判断是否是润年及函数封装

    方法一, 从终端输入一个表示年份的整数,判断是否是闰年,是就打印xxx年是闰年,不是打印xxx年不是闰年 y = int(input('请输入一个年份:')) if (y % 4 == 0 and y ...

  7. js 时间转换毫秒的四种方法(转)

    将时间转换为毫秒数的方法有四个: Date.parse()Date.UTCvalueOf()getTime() 1. Date.parse():该方法接受一个表示日期的字符串参数,然后尝试根据这个日期 ...

  8. 基于 HTML5 WebGL 的 3D 风机 Web 组态工业互联网应用

    基于 HTML5 WebGL 的 3D 风机 Web 组态工业互联网应用 前言 在目前大数据时代背景之下,数据可视化的需求也变得越来越庞大,在数据可视化的背景之下,通过智能机器间的链接并最终将人机链接 ...

  9. 如何使用gitbash 把你的代码托管到github

    1.如果你没有创建仓库 mkdir vuex-playList cd vuex-playList git init touch README.md git add README.md git comm ...

  10. PHP程序员的技术成长规划 第二阶段:提高阶段

    第二阶段:提高阶段 (中级PHP程序员) 重点:提高针对LNMP的技能,能够更全面的对LNMP有熟练的应用.目标:能够随时随地搭建好LNMP环境,快速完成常规配置:能够追查解决大部分遇到的开发和线上环 ...