预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共46页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数据库应用基础9.1简单条件查询9.1.1查询条件的一般要求算术函数FIX(数值),返回指定数值的整数部分;INT(数值),返回小于等于指定数值的最大整数;ROUND(数值[,小数位数]),按照指定小数位数进行四舍五入;文本函数LEN(字符串),返回字符串中包含的字符个数;LEFT(字符串,字符数),返回字符串中最左边的指定个字符;MID(字符串,位置[,字符数]),返回字符串中从指定位置开始的指定个字符;RIGHT(字符串,字符数),返回字符串中最右边的指定个字符;TRIM(字符串),删除字符串左边的空格;UCASE(字符串),将字符串中的小写字母转换为大写;日期/时间函数DATE(),取得系统当前的日期,没有参数;TIME(),返回系统当前时间,无参数;DAY(日期),返回日期中的日;MONTH(日期),返回日期中的月份;YEAR(日期),返回日期中的秒;DATEADD(时间单位,数字,日期),返回指定日期加上一段时间后的日期,时间DATEDIFF(时间单位,日期1,日期2),按指定时间单位计算两个日期间的时间间隔数目;转换函数CBOOL(表达式),当表达式的值为0时,结果为False,否则为True;CDATE(表达式),将表达式的值转换为日期型数据;CDBL(表达式),将表达式的值转换为双精度数值;CINT(表达式),将表达式的值转换为整型数值;CSTR(表达式),将表达式的值转换为字符串。9.1.2在查询条件中进行字符匹配在医生表中查找姓“张”并且是名为单字的医生记录。SELECT*FROM医生WHERE姓名Like'张?'查询库存药品里药品名称中含有“霉素”二个字的药品记录。SELECT*FROM库存药品WHERE药品名称like'*霉素*'9.1.3在查询条件中确定范围查询单价增加12%后在10.00至15.50范围内的药品记录。SELECT*FROM库存药品WHERE药品单价*1.12BETWEEN10.00AND15.50查询库存药品中“药品拼音”首字母在“A”到“B”范围内的药品记录。SELECT*FROM库存药品WHERELEFT(药品拼音,1)BETWEEN'A'AND'B'9.1.4在查询条件中确定集合9.1.4在查询条件中确定集合9.2控制查询结果中数据行的出现情况9.2控制查询结果中数据行的出现情况9.3用聚集函数进行统计例如,统计有多少名“正主任医师”SELECTCOUNT(*)AS正主任医师人数FROM医生WHERE职称=‘正主任医师‘计算某日(如,2007-12-22)挂号费收入的总和:SELECTSUM(金额)AS挂号费合计FROM挂号单WEHERDATEVALUE(日期)=#2007-12-22#计算所有医生的平均年龄:SELECTAVG(YEAR(DATE())-YEAR(出生日期))AS平均年龄FROM医生找出年龄最大和最小的医生生日:SELECTMIN(出生日期)AS年龄最大的医生的生日,MAX(出生日期)AS年龄最小的医生的生日FROM医生9.4分组查询9.4分组查询查询现有医生的不同职称(医生职称名的末尾字符串均为“医师”)SELECT职称FROM医师WHERE职称like‘*医师’GROUPBY职称查询各类职称的人数SELECT职称,COUNT(*)AS人数FROM医生GROUPBY职称HAVING<表达式>对分组处理后的结果再进行选择这时,HAVING子句中出现的表达式应该与SELECT后字段表中的字段或表达式相对应,因为这时是对查询结果的选择。列举平均年龄大于40的科室号SELECT科室号,AVG(datediff('yyyy',出生日期,date()))AS平均年龄FROM医生GROUPBY科室号HAVINGAVG(datediff('yyyy',出生日期,date()))>=409.5多表连接查询等值连接内连接外连接外连接自身连接9.6嵌套查询与EXISTS嵌套查询示意显示每个姓名为“陈大军”的医生所在的科室名称SELECT科室名称FROM科室WHERE科室号IN(SELECT科室号FROM医生WHERE姓名='陈大军')先用子查询找出陈大军所在的科室号,形成一个集合;再列出科室号在这个集合内的科室的名称。使用EXISTSSELECT科室名称FROM科室WHEREEXISTS(SELECT*FROM医生WHERE姓名=‘陈大军’AND科室号=科室.科室号)对于当前科室来说,如果子查询成立,就列出其名称。EXISTS示意哪些医生没有在