




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、sql常用查询语句篇一:sql重要的常用查询语句 1. 查询单价在10到20之间、印刷数量大于5000的“外语”类图书的书名、单价和印刷数量。 select sm,dj,yssl from tsb where yssl 5000 and lb = 外语 and dj between 10 and 20 题型:常规 2. 查询店名为“王府井书店”的进书情况,列出图书的书名、进书数量及进书日期。 select sm,jssl,jsrq from dbo.tsb a join dbo.jsb b on a.isbn =b.isbn join dbo.sdb c on b.sdbh=c.sdbh wh
2、ere sddm = 王府井书店 题型:常规,根据题意,多表连接,1个条件 3查询地址在“海淀区”的各书店2017年1月1日以后的详细进书情况,列出书店的名称、每次进书的书名、进书日期和进书数量, 要求查询结果按每次进每本书的数量从多到少的顺序排列。 select sddm,sm,jsrq,jssl from dbo.tsb a join dbo.jsb b on a.isbn =b.isbn join dbo.sdb c on b.sdbh=c.sdbh where dz like %海淀区% and jsrq 2017-01-01 order by jssl desc 题型:常规,多表连接
3、,两个条件,排序 4. 查询哪些类别的图书在“王府井书店”从没有进过,列出图书的类别。 select distinct lb - from tsb where lb not in(select lb from dbo.tsb a join dbo.jsb b on a.isbn =b.isbn join dbo.sdb c on b.sdbh=c.sdbh where sddm = 王府井书店 ) 题型:没有型。条件a满足b条件下没有做的事情,三步走 第一步根据题意,要列出的字段,即select语句中需出现的字段,在哪个表中 第二步,满足b条件的select 语句 第三步,a not in (
4、满足b条件的select 语句) 5. 新筹建一个书店,编号为“s111”,书店名为“当代书城”,地址和电话还没有确定,请将此书店信息插入到书店表中。 insert into sdb (sdbh ,sddm ) values( s111 , 当代书城 ) 题型:常规,注意对应顺序 6. 将“计算机”类图书的单价高于“计算机”类图书的平均单价超过50元的图书的单价减10元。update tsb set dj=dj-10 where dj (select avg(dj)+50 from tsb where lb = 计算机 ) 题型:常规,往往会加个子查询,update 表名 set 字段=表达式
5、 from 表格 -可以省略 where 条件-可以省略 -1. 查询姓“张”和姓“王”的客户的详细信息。 select * from khb where khm like 张王% 题型:常规,可以用字符串left和right函数来做,但还是上面的方法简单。 -2. 查询2017年每个月每个商品的销售总数量,列出月份、商品号和销售总数量,结果按月份和商品号升序排序 select month(xsrq), sph, sum(xssl) from xsb where year(xsrq) = 2017 group by month(xsrq),sph order by month(xsrq),sp
6、h 题型:常规 -3. 查询被卖出次数最少的三种商品(包括没有被卖出过的商品,包括并列的情况),列出商品名、类别和进价。 select spm, lb, jj from spb where sph in ( select top 3 with ties a.sph from spb a left join xsb b on a.sph = b.sph group by a.sph order by count(b.sph) asc) 题型:排序型。子查询,蓝色标记的字段语句,最少词用top,并列用with ties,分组排序,然后列出显示的字段和来自的表,用商品号做和子查询连接字段。 -4.
7、查询在2017年3月到8月期间没有被卖出过的“电脑”类商品的名称和进价。 select spm, jj from spb where sph not in ( select sph from xsb where xsrq between 2017/3/1 and 2017/8/31 ) and lb = 电脑 题型:没有型 1、显示的字段和来自的表格 2、满足b的条件是:期间 所以 从销售表中提取商品号,条件是满足题中要求的日期 3、用商品号做连接 -5. 查询至少购买了“电视”和“冰箱”两类商品的客户名、购买的商品名和类别。 select distinct khm,spm,lbfrom kh
8、b a join xsb b on a.khh = b.khh join spb c on c.sph = b.sph where a.khh in ( select khh from xsb join spb on xsb.sph = spb.sph where lb = 电视 ) and a.khh in ( select khh from xsb join spb on xsb.sph = spb.sph where lb = 冰箱 ) 题型:至少型。 步骤:第一步,列出要显示的字段,判断各自表格,进行连接 第二步,由于列别(lb)不能既是电视,又是冰箱,必须找一个字段来表示,商品号也不
9、行,于是客户号 第三步,两个子句间用and运算,说明既在和又在。 -6. 在客户表中插入一新记录,客户号为“k100”,客户名为“新客户”,积分用默认值。 insert into khb(khh,khm) values( k100 , 新客户 ) 题型:常型 -7. 将销售总数量超过1000的商品的进价降低10%。 update spb set jj = jj * 0.9 where sph in ( select sph from xsb group by sph having sum(xssl) 1000) 题型:常规:修改。往往会加个子查询 -1、查询2017年以后(包括2017年)的投
10、稿情况,显示作者名、期刊名、文章名称和投稿日期。 select zzm,qkm,wzmc,tgrq from zzb join tgb on zzb.zzh=tgb.zzh join qkb on tgb.qkh=qkb.qkh where tgrq = 2017/1/1 常规:多表,条件1 -2、查询姓哪个姓的作者最多,列出这个姓氏和姓这个姓氏的作者人数,包含并列的情况。 select top 1 with ties left(zzm,1),count(*) from zzb group by left(zzm,1) order by count(*) desc 题型:排序型。用top 来做
11、,数量一般用count(*)来做。 -3、查询作者“杨伍华”没有投过稿的核心期刊的名称 select qkm from qkb where lb= 是 and qkh not in (select qkhfrom zzb join tgb on zzb.zzh=tgb.zzh where zzm= 杨伍华 ) 题型:没有型。a在满足b条件没有,子查询。 步骤:第一步:分析a和b,换个句子,哪些核心期刊作者“杨伍华”没有投过稿,列出名称,题中a为核心期刊,qkh和lb是, b为杨伍华。 第二步,题意名称字段和所属表格 第三步,select qkh 满足作者为杨伍华的期刊,类别不在以上的就求得题解
12、 -4、查询“杨伍华”投过稿的期刊的投稿情况,显示期刊号,审稿通过总次数, 版面费总金额(说明:只有审稿结果为 通过 时,作者才需向期刊缴纳相应版面费), -要求只列出投稿次数超过5次(不包括5次)且版面费总金额大于7000的情况。 select tgb.qkh,count(*),sum(bmf) from tgb join qkb on tgb.qkh=qkb.qkh where sgjg= 通过 and tgb.qkh in (select qkh from tgb join zzb on tgb.zzh=zzb.zzh where zzm= 杨伍华 ) group by tgb.qkh
13、having count(*) 5 and sum(bmf) 7000 题型:多条件综合类型 步骤:第一步:明确要显示的字段以及来自的表格。 第二步:考虑说明的条件 第三步:以期刊号作分组,后面的条件在分组的基础上再设条件 第四步:杨伍华投过稿的期刊号,做一个子查询。 -5、查询全体作者(包括还没有投过稿的作者)的人均投稿次数,列出总投稿次数、总人数和人均投稿次数. -要求平均投稿次数保存到小数点后2位 select count(tgb.zzh),count(distinct zzb.zzh), cast(count(tgb.zzh)*1.0/count(distinct zzb.zzh) a
14、s numeric(4,2) from zzb left join tgb on zzb.zzh=tgb.zzh 题型:平均次数型 步骤:第一步:显示字段 第二步:count总投稿表中的次数,count作者表中的人数,有重复,必须用distinct cast(count(tgb.zzh)*1.0/count(distinct zzb.zzh) as numeric(4,2),类似的条件必须记住。 第三步:作者表左连接投稿表,是因为还有作者没有投过表,也要统计进去。 -6、向投稿表中插入一条记录,作者号为“zz01”,期刊号为“qk02”,文章名称为“地铁限界系统的研究”, -投稿日期和审稿结果
15、为默认值。 insert into tgb(zzh,qkh,wzmc) values( zz01 , qk02 , 地铁限界系统的研究 )题型:常规 -7、删除投稿表中2017年以前(包括2017年),期刊名为 哲学研究 中审稿未通过的的投稿记录。 delete from tgb from tgb join qkb on tgb.qkh=qkb.qkh where sgjg= 未通过 and year(tgrq) =2017 and qkm= 哲学研究 题型:常规 -1. 查询姓“张”和姓“王”的客户的详细信息。 select * from khb where khm like 张王% 题型:
16、常规 -2. 查询2017年每个月每个商品的销售总数量,列出月份、商品号和销售总数量,结果按月份和商品号升序排序 select month(xsrq), sph, sum(xssl) from xsb where year(xsrq) = 2017 group by month(xsrq),sph order by month(xsrq),sph 题型:常规 -3. 查询被卖出次数最少的三种商品(包括没有被卖出过的商品,包括并列的情况),列出商品名、类别和进价。 select spm, lb, jj from spb where sph in ( select top 3 with ties
17、a.sph from spb a left join xsb b on a.sph = b.sph group by a.sph order by count(b.sph) asc) 题型:排序型.top 步骤:第一步:考虑显示的字段 第二步: top 3, order by count(sph) asc,spb和xsb 左连接,左边是全部的商品,右边是销售情况。 第三步:用sph做连接。 -4. 查询在2017年3月到8月期间没有被卖出过的“电脑”类商品的名称和进价。 select spm, jj from spb where sph not in ( select sph from xsb
18、 where xsrq between 2017/3/1 and 2017/8/31 ) and lb = 电脑 题型:没有型。 步骤:第一步,分析ab。与哪些核心期刊作者“杨伍华”没有投过稿,列出名称相同,哪些“电脑”类商品的名称和进价没有卖出过,列出名称和进价。b为电脑类的商品的名称和进价,a为商品号。 第二步:要显示的字段 第三步:找字段连接。 -5. 查询至少购买了“电视”和“冰箱”两类商品的客户名、购买的商品名和类别。篇二:常用sql查询语句一、药品用法录入错误修改语句:1、select * from zy_ypyf 2、select yzmc,kzsj,gytj from emr_
19、yzb where zyh in(select zyh from zy_brry where zyhm= 0099193a ) and gytj=7 and yysx=2 for update(1长,2临) 3、select yzmc,ypyf from zy_bqyz where zyh in(select zyh from zy_brry where zyhm= 0099193a ) and ypyf=7 and lsyz=1 for update 4、select * from emr_yzdy where zyh in(select zyh from zy_brry where zyh
20、m= 0099193a ) and yzqx=2 for update 二、护士医嘱复核数据不会消失修改语句:select * from zy_brry where zyhm= 00201716 for update 1.病人出院处理语句:select yzmc,sybz,lsbz from zy_bqyz where zyh in(select zyh from zy_brry where zyhm= 00201701 ) and lsyz=1 and lsbz=0 for(转 载 于:www.cnbothwin.com 博威 范文网:sql常用查询语句) update 选择多个科室:sel
21、ect * from gy_qxkz where ygdm=180 and ywlb like %病区% and mrbz=1 for update 2.处理病人挂号语句:select * from ms_brda where brxm like %病人姓名% select * from ms_ghks where ksdm in(05,85) select * from ms_ghmx where brid=104233 for update select * from ms_cf01 where fphm=3394787 select * from ys_mz_jzls where jzx
22、h=46106 select * from ms_brda where brxm like %病人姓名% 打印后医嘱修改语句:select yzmc,ds,dsdw from emr_yzb where zyh in(select zyh from zy_brry where zyhm= 00201755 ) and yysx=2 for update select * from emr_yzdy where zyh=1502 for update select * from zy_bqyz where zyh in(select zyh from zy_brry where zyhm= 00
23、201755 ) and lsyz=1 for update 病人出院时检查及化验项目为执行:select yzmc,kssj,sybz,lsbz from zy_bqyz where zyh in(select zyh from zy_brry where zyhm= 病人住院号码 ) and lsyz=1 and lsbz=0 for update 医生看不见自己的病人但是在相应科室可以看见病人:select * from ys_zy_jzjl where brbh in( 0101492a , 00201715 ) for update select * from gy_ygdm whe
24、re ygdm=421 婴儿医嘱:select yzmc,kzsj from emr_yzb where zyh=2679 and yysx=1 for update select * from bq_xsedj mqzyh=母亲住院号篇三:sql命令和常用语句大全【经典】 sql命令和常用语句大全【经典】 学习sql应知道的动态sql语句基本语法 1 、普通sql语句可以用exec执行 eg: select * from tablename exec( select * from tablename ) exec sp_executesql n select * from tablename
25、 - 请注意字符串前一定要加n 2、字段名,表名,数据库名之类作为变量时,必须用动态sql eg: declare fname varchar(20) set fname = filedname select fname from tablename - 错误,不会提示错误,但结果为固定值filedname,并非所要。 exec( select + fname + from tablename ) - 请注意 加号前后的 单引号的边上加空格 当然将字符串改成变量的形式也可 declare fname varchar(20) set fname = filedname -设置字段名 declar
26、e s varchar(1000) set s = select + fname + from tablename exec(s) - 成功 exec sp_executesql s - 此句会报错 declare s nvarchar(1000) - 注意此处改为nvarchar(1000) set s = select + fname + from tablename exec(s) - 成功 exec sp_executesql s - 此句正确 3、输出参数 declare num int, sqls nvarchar(4000) set sqls= select count(*) f
27、rom tablename exec(sqls) -如何将exec执行结果放入变量中? declare num int,sqls nvarchar(4000) set sqls= select a=count(*) from tablename exec sp_executesql sqls,n a int output ,num output select num 此外,如果想要在sql语句 字符串中使用 单引号 可以 使用 -语 句 功 能 -数据操作 select -从数据库表中检索数据行和列 insert -向数据库表添加新数据行 delete -从数据库表中删除数据行 update
28、-更新数据库表中的数据 -数据定义 create table -创建一个数据库表 drop table -从数据库中删除表 alter table -修改数据库表结构 create view -创建一个视图 drop view -从数据库中删除视图 create index -为数据库表创建一个索引 drop index -从数据库中删除索引 create procedure -创建一个存储过程 drop procedure -从数据库中删除存储过程 create trigger -创建一个触发器 drop trigger -从数据库中删除触发器 create schema -向数据库添加一个
29、新模式 drop schema -从数据库中删除一个模式 create domain -创建一个数据值域 alter domain -改变域定义 drop domain -从数据库中删除一个域 -数据控制 grant -授予用户访问权限 deny -拒绝用户访问 revoke -解除用户访问权限 -事务控制 commit -结束当前事务 rollback -中止当前事务 set transaction -定义当前事务数据访问特征 -程序化sql declare -为查询设定游标 explan -为查询描述数据访问计划open -检索查询结果打开一个游标 fetch -检索一行查询结果 clos
30、e -关闭游标 prepare -为动态执行准备sql 语句 execute -动态地执行sql 语句 describe -描述准备好的查询 -局部变量 declare id char(10) -set id = 10010001 select id = 10010001 -全局变量 -必须以开头 -if else declare x int y int z int select x = 1 y = 2 z=3 if x y print x y -打印字符串 x y else if y z print y z else print z y -case use pangu update empl
31、oyee set e_wage = case when job_level = 1 then e_wage*1.08 when job_level = 2 then e_wage*1.07 when job_level = 3 then e_wage*1.06 else e_wage*1.05 end -while continue break declare x int y int c int select x = 1 y=1 while x 3 begin print x -打印变量x 的值 while y 3 begin select c = 100*x + y print c -打印变
32、量c 的值select y = y + 1 end select x = x + 1 select y = 1 end -waitfor -例 等待1 小时2 分零3 秒后才执行select 语句 waitfor delay 01:02:03 select * from employee -例 等到晚上11 点零8 分后才执行select 语句 waitfor time 23:08:00 select * from employee *select* select *(列名) from table_name(表名) where column_name operator value ex:(宿主
33、) select * from stock_information where stockid = str(nid) stockname = str_name stockname like % find this % stockname like a-za-z% - (指定值的范围) stockname like f-m% - (排除指定范围) - 只能在使用like关键字的where子句中使用通配符) or stockpath = stock_path or stocknumber 1000 and stockindex = 24 not stock* = man stocknumber b
34、etween 20 and 100 stocknumber in(10,20,30) order by stockid desc(asc) - 排序,desc-降序,asc-升序 order by 1,2 - by列号 stockname = (select stockname from stock_information where stockid = 4) - 子查询 - 除非能确保内层select只返回一个行的值, - 否则应在外层where子句中用一个in限定符 select distinct column_name form table_name - distinct指定检索独有的列值,不重复 select stocknumber , stocknumber + 10 = stocknumber + 10 from table_name select stockname
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 军事地理学与冷战空间认知-洞察阐释
- 发票托管服务协议
- 小学五年级下册的语文期中试卷
- 量子调控的纳米结构设计-洞察阐释
- 2025企业公司与员工劳动合同标准范本
- 矿产开采权抵押贷款还款计划合同
- 2025成都合同协议格式
- 2025合同销售员辞职报告范文
- 耳鼻喉科疾病的护理技巧
- 小学二年级《安全法制教育》主题班会教案全册
- 中国妊娠期糖尿病母儿共同管理指南(2024版)核心要点解读
- 2025届四川省眉山市百坡初级中学八下数学期末复习检测模拟试题含解析
- 大数据在区域经济学中的应用研究-洞察阐释
- 《宠物保健品营销策略》课件
- 民兵理论考试试题及答案
- 公寓管理考试试题及答案
- 大学篮球笔试题目及答案
- 《第一单元 智能家居 3 智能家居新生活》教学设计-2023-2024学年川教版信息技术(2019)六年级上册
- 统编版语文五年级下册词句段练习(含答案)
- T-CACM 1277-2019 中医外科临床诊疗指南 烧伤
- 海务管理面试题库及答案
评论
0/150
提交评论