SQL Server 的简单应用.docx
《SQL Server 的简单应用.docx》由会员分享,可在线阅读,更多相关《SQL Server 的简单应用.docx(14页珍藏版)》请在冰豆网上搜索。
SQLServer的简单应用
SQLServer2000的简单应用
目录
一、select(查询)1
1.select与列名的使用1
2.select与as的联用1
3.select与*的联用1
4.select、*、where、=的联用2
5.select、where、like的联用(模糊查询:
包含)2
6.select、where、notlike的联用(模糊查询:
不包含)2
7.<>(不等于)的使用3
8.>(大于)的使用3
9.<(小于)的使用4
10.>=(大于或等于)的使用4
11.<=(小于或等于)的使用5
12.between…and…的使用5
13.and的使用6
14.or的使用6
15.orderby(排序)6
16.distinct(返回结果集中不重复的数据行)7
17.count(计算结果集合中的数据行数)7
18.avg(返回结果集的平均值)7
19.sum(返回结果集中所有值的和)7
20.min(返回结果集的最小值)7
21.max(返回结果集的最大值)8
22.groupby(分组查询)8
23.in(限定范围)8
24.union(合并查询结果)8
25.双表查询9
26.多表查询10
二、delete(删除)11
三、insert[插入(添加)]11
四、update(修改)11
一、select(查询)
1.select与列名的使用
selectcode,anamefromdbo.HIS_YPML--从HIS_YPML表查询包含code和aname两列的记录,查询结果如图1所示:
图1
2.select与as的联用
selectanameas'药名',dwas'单位'fromdbo.HIS_YPML;--从dbo.HIS_YPML表查询并显示只包含aname、dw两个字段的记录,这里as后面跟的是列标题,需要加单引号,查询结果如图2所示:
图2
3.select与*的联用
select*fromdbo.HIS_YPML--查询dbo.HIS_YPML表中所有数据,查询结果如图3所示:
图3
4.select、*、where、=的联用
select*fromdbo.ICD10whereicd_name='流行性腮腺炎'--查询icd_name字段名称等于“流行性腮腺炎”的记录,查询结果如图4所示:
图4
5.select、where、like的联用(模糊查询:
包含)
selecticd_code,icd_namefromdbo.ICD10whereicd_namelike'%炎%'--查询icd_name字段中包含“炎”的,显示icd_code,icd_name两个字段的记录,查询结果如图5所示:
图5
6.select、where、notlike的联用(模糊查询:
不包含)
selecticd_code,icd_namefromdbo.ICD10whereicd_namenotlike'%炎%'--查询icd_name字段中不包含“炎”的,显示icd_code,icd_name两个字段的记录,查询结果如图6所示:
图6
7.<>(不等于)的使用
select*fromdbo.SB_BMwhereLB_name<>'剂型',查询LB_NAME字段不等于“剂型”的记录,查询结果如图7所示:
图7
8.>(大于)的使用
selectyyxmmc,dw,gg,dj,slfromdbo.ZY_FYMXwheredj>10,从dbo.ZY_FYMX表查询dj字段值大于10的数据,查询结果如图8所示:
图8
9.<(小于)的使用
selectyyxmmc,dw,gg,dj,slfromdbo.ZY_FYMXwheresl<6,从dbo.ZY_FYMX表查询sl字段值小于6的数据,查询结果如图9所示:
图9
10.>=(大于或等于)的使用
selectyyxmmc,dw,gg,dj,slfromdbo.ZY_FYMXwhereDJ>=10,从表dbo.ZY_FYMX查询dj值大于或等于10的数据,查询结果如图10所示:
图10
11.<=(小于或等于)的使用
selectyyxmmc,dw,gg,dj,slfromdbo.ZY_FYMXwhereDJ<=10,从表dbo.ZY_FYMX中查询dj值小于或等于10的数据,查询结果如图11所示:
图11
12.between…and…的使用
select*fromZY_FYMXwheredjbetween10and20,从表ZY_FYMX中查询dj值在10到20之间的数据,查询结果如图12所示:
图12
13.and的使用
select*fromdbo.HIS_YPMLwhereanamelike'%液%'anddw='瓶',从表dbo.HIS_YPML中查询aname字段包含“液”字,并且单位是“瓶”的数据,查询结果如图13所示:
图13
14.or的使用
select*fromdbo.HIS_YPMLwhereanamelike'%水%'ordw='瓶',查询ANAME字段包含“水”或DW字段等于“瓶”的数据,查询结果如图14所示:
图14
15.orderby(排序)
①select*fromdbo.HIS_YPMLorderbyaname,默认是升序排列的,查询结果如图15所示:
(注:
截图时数据未截完整)
图15
②select*fromdbo.HIS_YPMLorderbyanamedesc,降序排列,查询结果如图16所示:
图16
16.distinct(返回结果集中不重复的数据行)
selectdistinctdwfromdbo.HIS_YPML,查询dw字段中没有重复数据的数据行,查询结果如图17所示:
图17
17.count(计算结果集合中的数据行数)
selectcount(*)fromHIS_YPML,查询结果如图18所示:
图18
18.avg(返回结果集的平均值)
selectavg(dj)as'平均值'fromdbo.HIS_YPMLwherecode>24126,查询结果如图19所示:
图19
19.sum(返回结果集中所有值的和)
selectsum(dj)as'总和'fromdbo.HIS_YPML,查询结果如图20所示:
图20
20.min(返回结果集的最小值)
selectmin(dj)fromdbo.ZY_FYMX,查询dbo.ZY_FYMX表中dj字段值最小的数据,查询结果如图21所示:
图21
21.max(返回结果集的最大值)
selectmax(dj)fromdbo.ZY_FYMX,查询dj列的最大值,结果如图22所示:
图22
22.groupby(分组查询)
selectdw,max(dj)as'最大值'fromdbo.ZY_FYMXgroupbydw,查询每个不同单位对应的最大值,结果如图23所示:
图23
23.in(限定范围)
select*fromdbo.tb_bookBorrowwheredepartmentin('图书馆','校园保卫处'),查询图书借阅信息表中部门名称为“图书馆”或者“校园保卫处”的记录,查询结果如图24所示:
图24
24.union(合并查询结果)
select*fromdbo.tb_readerInfowherecertificateType='工作证'unionselect*fromdbo.tb_readerInfowherecertificateType='身份证',本条语句从读者信息表中查询出了证件类型为“工作证”或“身份证”的所有记录信息,查询结果如图25所示:
图25
试与下面的查询语句及查询结果进行比较
select*fromdbo.tb_readerInfowherecertificateType='工作证'orcertificateType='身份证',查询结果如图26所示:
图26
通过比较可以发现,图25和图26的结果大同小异,只不过显示顺序不一样而已。
25.双表查询
①selectreaderNamefromdbo.tb_bookBorrowwhereoperationTypes='借书'andreaderNamein(selectreaderNamefromdbo.tb_readerInfowherecertificateType='借阅证'),这个查询语句意思是查询借阅表中操作类型为“借书”的,并且在读者信息表中证件类型为“借阅证”的读者,查询结果如图27所示:
图27
②selectreaderNamefromdbo.tb_bookBorrowwhereoperationTypes='借书'andreaderNamein(selectreaderNamefromdbo.tb_readerInfowherecertificateType!
='借阅证'),这个查询的意思是查询借阅表中操作类型为“借书”的,并且在读者表中证件类型不为“借阅证”的读者,查询结果如图28所示:
图28
③selectreaderNamefromdbo.tb_bookBorrowwhereoperationTypes='借书'andreaderNamenotin(selectreaderNamefromdbo.tb_readerInfowherecertificateType='借阅证'),这个查询语句的意思是查询借阅表中操作类型为“借书”且不在读者信息表中证件类型为“借阅证”的读者中的读者,查询结果如图29所示,它跟上面图28显示的结果一样,上面一个查询语句跟这个查询语句有异曲同工之妙。
图29
④selectbookNamefromdbo.tb_bookBorrowwhereexists(selectbookNamefromdbo.tb_bookInfowheretb_bookBorrow.bookName=tb_bookInfo.bookName),此句是查询借阅表中的图书名称在图书信息表中出现的数据,查询结果如图30所示:
图30
26.多表查询
1内连接(innerjoin)
selectdbo.tb_bookInfo.bookName,dbo.tb_bookInfo.author,dbo.tb_bookType.typeNamefromdbo.tb_bookInfoinnerjoindbo.tb_bookTypeondbo.tb_bookInfo.bookType=dbo.tb_bookType.typeID
上面语句的意思是查询图书信息表的图书名称和作者,图书类型表中的图书类型名称,两表通过共同的属性“图书类型编号”连接起来
查询结果如图31所示:
图31
2左外连接(l