Sql server 第二课

--c查询3000-6000员工编号 薪水 姓名 奖金
select * from emp
select empno,ename,sal,comm from emp where sal <=6000 and sal >=3000

-- between and xx 到XX之间
-- 查询薪水在 3000-6000 之间的员工的编号 薪水 姓名 奖金
select empno,sal,ename,comm from emp where sal between 3000 and 6000

-- 查询2013年入职的员工信息
select * from emp where hiredate between '2013-01-01' and '2013-12-31'

-- 查询2012年入职的员工信息
select *from emp where hiredate between '2012-01-01' and '2012-12-31'
-- 查询2012年入职的工资在3000到6000之间员工信息
select * from emp where (hiredate between '2012-01-01' and '2012-12-31') and (sal between 3000 and 6000)

-- 查询部门编号为 2 3 4 5 的员工信息
select * from emp where deptno = '2'or deptno = '3' or deptno = '4' or deptno = '5'
-- in (XXX,XXX)
select * from emp where deptno in(2,3,4,5)
--查询2、3、5号员工信息
select * from emp where empno in (2,3,5)
--查询开发和财务岗位的员工信息
select * from emp where job in ('开发','财务')

--like
-- 查询姓名为王芳的员工的信息
select * from emp where ename like '王芳'

select * from emp where ename = '王芳'

-- 查询姓名中包含 芳 字的员工信息 %通配符
select * from emp where ename like '%芳%'

-- 查询姓王的员工的信息
select * from emp where ename like '王%'

-- 查询名字中第二个字 为 明 的员工的信息 占一个字符
select * from emp where ename like '
明%'
-- 查询第三个字为明的员工信息
select * from emp where ename like '__明%'

--查询计算
--查询员工的姓名,年薪,岗位
select ename '姓名' , sal*12 '年薪',job '岗位' from emp;

--查询员工的姓名,年收入,岗位
select ename '姓名', sal12+comm12 '年收入',sal ,comm ,job '岗位' from emp;

--查询员工的姓名,工资和提升10%后的工资
select ename '姓名',sal,sal*1.1 '提升后工资' from emp

-- isnull
--查询员工的姓名,年收入,岗位
select ename '姓名', isnull(sal,0)12+isnull(comm,0)12 '年收入',sal ,comm ,job '岗位' from emp;

--查询人员姓名,工资和提升10%后的工资,如果为空,则设置为3000
select ename,sal,isnull(sal,3000)*1.1 '提升' from emp

-- 排序 order by xxx asc 升序 desc 降
-- 查询人员信息,按照工资的高低排序
select * from emp order by sal desc;

-- 查询开发人员信息 按照奖金从低到高排序

select * from emp where job like '开发' order by comm asc;

--查询按照姓名升序排序
select * from emp order by ename asc

-- 查询开发人员信息 按照奖金从低到高排序 奖金相同的 按照工资从低到高排序
select * from emp where job like '开发' order by comm asc , sal asc
--查询员工信息按照薪水的降序排序,相同的按照入职时间排序
select * from emp order by sal desc,hiredate asc
--查询名字中有明或者小的员工,薪水在5000到9000之间的员工信息,按照薪水降序排序,相同的按照编号的降序排序
select * from emp where (ename like '%小%' or ename like '%明%') and (sal between 1000 and 9000) order by sal desc,empno desc

-- select 字段名 '别名', 字段名1运算 '别名' from 表名 where 条件 order by 排序

-- lower、upper、charindex(sub,str)、left、right、substring(s,start,length)、len、replace(s,from,to)
--lower 大写转小写
select lower('ASaa')
-- upper 小写转大写
select upper('assss')
-- charindex(sub,str) sub 在 str中的位置
select charindex('s','asdef');
-- left 从左边截取三个字符
select left('asdfassss',3);
-- right 从右边截取三个字符
select right('asdfghjk',3);
-- substring 从指定位置截取指定长度的字符
select substring('asdffghdf',2,4);
--len 字符串的长度
select len('2222123');
-- replace(s,from,to) 在字符串s 中 将from 换成 to
select replace('asdfghjk','sd','');
--查询每个人名字,名字的第一个字,最后一个字,和第二个字
select ename,left(ename,1),right(ename,1),substring(ename,2,1) from emp
--查询姓李的员工信息
select * from emp where ename like '李%';
select * from emp where left(ename,1) like '李';
select * from emp where substring(ename,1,1) like '李'
--查询最后名字为明的员工信息
select * from emp where right(ename,1) like '明'
--查询每个人的名字以及名字的长度
select ename,len(ename) from emp
--查询员工的姓名将刚替换成*
select ename,replace (ename,'刚','') from emp
select * from emp
--作业:
--题目: 从人员表表中查询出工资大于1600的员工的姓名和工资。
select ename,sal from emp where sal > 1600
--题目: 从人员表表中查询出员工号为8的员工的姓名和部门号。
select ename,deptno,empno from emp where empno = 8
--题目: 从人员表表中查询出在2和3号部门工作的员工姓名和员工号。
select ename,empno,deptno from emp where deptno in (2,3)
--题目: 从人员表表中查询出员工姓名的第三个字母是A的员工姓名。
select ename from emp where substring(ename,3,1) like 'a'
--题目: 查询人员表表中员工号人员编号,姓名ename,工资sal,以及工资提高百分之20%后的结果。
select empno '编号',ename '姓名',sal '工资',sal
1.2 '提高' from emp
--题目: 将人员表表中的员工按姓名排序,并显示出姓名的长度。
select len(ename),ename from emp order by ename asc
--题目: 从人员表表中查询出所有员工的姓名ename,人员编号,以及他的管理者mgr的姓名ename和编号,并按照员工编号升序排序。
select * from emp;
select e.empno,e.ename,m.ename '管理者姓名', e.mgr from emp e,emp m where e.mgr = m.empno

--题目: 从人员表表中查询出员工的姓名ename和工资数sal,条件限定为工资数必须大于1200,并对查询结果按雇用日期以降序方式进行排列。
select ename '姓名',sal '工资数',hiredate from emp where sal > 1200 order by hiredate desc
--题目:查询名字中有'小'的员工
select ename from emp where ename like '%小%'
--教师:round(x,精度)、abs、ceiling、floor、power(a,b)、rand()、round()
--教师:abs:绝对值、ceiling:向上取整、floor:向下取整、power(a,b):a的b次方,rand():随机数
select round(123.456,2)
--公司按工资的三分之一缴纳保险,查询编号,姓名,工资,缴纳保险数,保留两位小数
select empno,ename,sal,round(sal/3,2) from emp
select abs(-100)
select ceiling (899.567)
select floor (899.567)
c
--查询8-18的随机数
c
--查询22-35的随机数
--select ceiling(rand()10+12)
select rand()
select rand()
10
select ceiling(rand()*13+22)
--教师:日期类
--getdate()、datepart(yy,getdate())、datediff(dd,startday,endday)
select getdate()
select datepart(yy,getdate())
select datepart(mm,getdate())
select datepart(dd,getdate())
select datepart(hh,getdate())
select datepart(mi,getdate())
select datediff(hh,'2000-10-01','2017-3-26')
--查询在12年5月份入职的员工
select * from emp where datepart(yy,hiredate) like '%12' and datepart(mm,hiredate)=5
--查询公司中工龄在5年以上的员工,按照入职顺序升序排序
select * from emp where datediff(yy,hiredate,getdate()) > 5 order by hiredate asc

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容