sql语句妙用,各种sql语句的详细用法与讲解电子版本.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《sql语句妙用,各种sql语句的详细用法与讲解电子版本.doc》由会员分享,可在线阅读,更多相关《sql语句妙用,各种sql语句的详细用法与讲解电子版本.doc(118页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Good is good, but better carries it.精益求精,善益求善。sql语句妙用,各种sql语句的详细用法与讲解-学习SQL应知道的动态SQL语句基本语法1、普通SQL语句可以用Exec执行9Kp=ACdaFr1eg:Select*fromtableNameWsc+A:当然将字符串改成变量的形式也可:?Gf%ydeclarefnamevarchar(20)rjXK3setfname=FiledName-设置字段名!i9mD!Gw(IfnsPdeclaresvarchar(1000)7A_?musets=select+fname+fromtableNameezCY_T9
2、mExec(s)-成功W=Q!_X$execsp_executesqls-此句会报错vOwTKUbBy4-_T+A2#sv-v6oHdeclaresNvarchar(1000)-注意此处改为nvarchar(1000)A!?UOEsets=select+fname+fromtableName(/Hv6n3Z&Exec(s)-成功ix9Hhexecsp_executesqls-此句正确7UXt*wLBf0at03、输出参数kz/7E/A%+np.MM7Edeclarenumint,3=CUhsqlsnvarchar(4000)cI)10000)AStWHEREa.au_id=ta.au_idAN
3、Dta.title_id=t.title_id此例中,将SELECT返回的结果集合给予一别名t,然后再从中检索数据。(三)使用WHERE子句设置查询条件WHERE子句设置查询条件,过滤掉不需要的数据行。例如下面语句查询年龄大于20的数据:SELECT*FROMusertableWHEREage20WHERE子句可包括各种条件运算符:比较运算符(大小比较):、=、=、=、!、!=10ANDage、=、=、!和。3、自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。例,下面使用等值连接列出authors和publis
4、hers表中位于同一城市的作者和出版社:SELECT*FROMauthorsASaINNERJOINpublishersASpONa.city=p.city又如使用自然连接,在选择列表中删除authors和publishers表中重复列(city和state):SELECTa.*,p.pub_id,p.pub_name,p.countryFROMauthorsASaINNERJOINpublishersASpONa.city=p.city(二)外连接内连接时,返回查询结果集合中的仅是符合查询条件(WHERE搜索条件或HAVING条件)和连接条件的行。而采用外连接时,它返回到查询结果集合中的不仅
5、包含符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接时)或两个边接表(全外连接)中的所有数据行。如下面使用左外连接将论坛内容和作者信息连接起来:SELECTa.*,b.*FROMluntanLEFTJOINusertableasbONa.username=b.username下面使用全外连接将city表中的所有作者以及user表中的所有作者,以及他们所在的城市:SELECTa.*,b.*FROMcityasaFULLOUTERJOINuserasbONa.username=b.username(三)交叉连接交叉连接不带WHERE子句,它返回被连接的两个表所有数据行的笛卡尔积,返回
6、到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。例,titles表中有6类图书,而publishers表中有8家出版社,则下列交叉连接检索到的记录数将等。于6*8=48行。SELECTtype,pub_nameFROMtitlesCROSSJOINpublishersORDERBYtypePost=0/Post教你快速掌握一些异常精妙的SQL语句发布时间:2008.03.1104:58来源:赛迪网作者:钱海歌【赛迪网IT技术报道】精妙的SQL语句:复制表(只复制结构,源表名:a新表名:b)SQL:select*intobfromawhere11拷
7、贝表(拷贝数据,源表名:a目标表名:b)SQL:insertintob(a,b,c)selectd,e,ffromb;显示文章、提交人和最后回复时间SQL:selecta.title,a.username,b.adddatefromtablea,(selectmax(adddate)adddatefromtablewheretable.title=a.title)b说明:外连接查询(表名1:a表名2:b)SQL:selecta.a,a.b,a.c,b.c,b.d,b.ffromaLEFTOUTJOINbONa.a=b.c日程安排提前五分钟提醒SQL:select*from日程安排whereda
8、tediff(minute,f开始时间,getdate()5两张关联表,删除主表中已经在副表中没有的信息SQL:deletefrominfowherenotexists(select*frominfobzwhereinfo.infid=infobz.infid)说明:SQL:SELECTA.NUM,A.NAME,B.UPD_DATE,B.PREV_UPD_DATEFROMTABLE1,(SELECTX.NUM,X.UPD_DATE,Y.UPD_DATEPREV_UPD_DATEFROM(SELECTNUM,UPD_DATE,INBOUND_QTY,STOCK_ONHANDFROMTABLE2W
9、HERETO_CHAR(UPD_DATE,YYYY/MM)=TO_CHAR(SYSDATE,YYYY/MM)X,(SELECTNUM,UPD_DATE,STOCK_ONHANDFROMTABLE2WHERETO_CHAR(UPD_DATE,YYYY/MM)=TO_CHAR(TO_DATE(TO_CHAR(SYSDATE,YYYY/MM)¦¦/01,YYYY/MM/DD)-1,YYYY/MM)Y,WHEREX.NUM=Y.NUM(+)ANDX.INBOUND_QTY+NVL(Y.STOCK_ONHAND,0)X.STOCK_ONHAND)BWHEREA.NUM=B.N
10、UM说明:SQL:select*fromstudentinfowherenotexists(select*fromstudentwherestudentinfo.id=student.id)and系名称=&strdepartmentname&and专业名称=&strprofessionname&orderby性别,生源地,高考总成绩实例讲解SQLServer中Update的用法发布时间:2008.02.2805:07来源:赛迪网作者:AlizzeSQLServer中Update的用法:例子:在表中有两个字段:id_no(varchar),in_date(datetime),把in_date相同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sql 语句 妙用 各种 详细 用法 讲解 电子 版本
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内