数据库中的select方法.ppt

上传人:tian****1990 文档编号:11536409 上传时间:2020-04-27 格式:PPT 页数:17 大小:211.50KB
返回 下载 相关 举报
数据库中的select方法.ppt_第1页
第1页 / 共17页
数据库中的select方法.ppt_第2页
第2页 / 共17页
数据库中的select方法.ppt_第3页
第3页 / 共17页
点击查看更多>>
资源描述
第5章数据库数据的选择重点内容:SELECT语句定义SELECT关键字开头子句使用FROM字句使用WHERE字句使用,一、SELECT语句定义从某种意义上说,SELECT语句是SQL中真正核心的内容。使用SELECT语句可以让用户以各种不同的方式查找并查看数据。SELECT语句可以满足用户的各种需要,如符合某种条件的数据有多少,存放在那个表中等等,这些都可以用SELECT语句很好的完成。,SELECTALL|DISTINCTselect_listFROMtable_list/view_listWHEREconditionsGROUPBYgroup_listHAVINGconditionsORDERBYorder_list,第一行关键字SELECT后的select_list列出了所选择列的名称,在检索之后系统将显示在seect_list中列出符合条件的的列的数据。SELECT关键字之后可选的关键字ALL表示将显示所有检索到的数据(包括重复的数据),DISTINCT表示不在结果中显示重复的数据;第二行在关键字FROM之后,指定要进行检索的表的名称table_list或视图的名称view_list;第三行在WHERE关键字之后,您可以指定检索的条件,使SELECT语句按照指定的检索条件在表中检索数据;第四行GROUPBY指定如何对检索到的数据进行分组,使显示结果按照您的需要分好组,产生可读性更好的结果;HAVING子句可以看成用于组的WHERE子句。HAVING子句用来限制组,就象WHERE子句用来限制行一样;第六行ORDERBY指定如何对检索到的数据进行排序,使显示结果按照您的需要派好序,产生可读性更好的结果。最基本的SELECT语句中一般包含前面三行,后面三行是为了更好的显示查询的结果。使用后面三行可以清晰、直观的显示查询结果。,二、指定检索列1、选择所有的列需要显示一个表中所有列的值,可以在SELECT关键字之后列出表中所有的列的名称。SQL中提供了一个符号:星号(*),用来表示选择表中所有的列。列的显示顺序将与其在CREATETABLE时列出的先后顺序相同。,SELECTdnumber,dname,mgrid,mgrstrdateFROMDepartmentResultsdnumberdnamemgridmgrstdate1开发部10012001-11-32市场部20012002-3-13人事部30012001-4-54技术部40012001-1-155测试部50012002-6-56财务部60012002-3-106rows,SELECT*FROMDepartmentResultsdnamednumbermgridmgrstdate开发部110012001-11-3市场部220012002-3-1人事部330012001-4-5技术部440012001-1-15测试部550012002-6-5财务部660012002-3-106rows,二、指定检索列2、选择所需的列很多时候并不需要将所有列的数据都显示出来,SELECT子句也可以用来显示用户需要的列。,SELECTcolumn_name,column_name,.FROMtable_list/view_list,SELECTdname,dnumber,mgridFROMDepartmentResultsdnamednumbermgrid开发部11001市场部22001人事部33001技术部44001测试部55001财务部660016rows,二、指定检索列3、表达式的使用在SELECT子句中,支持数学表达式的应用,以方便的完成对列上数据的计算并将计算结果包含在查询结果中。在SELECT子句中,表达式中可以包含数字、列名或二者都在表达式中使用。(1)仅使用数字在SELECT子句中的表达式不一定必须包括列,可以在表达式中单独使用,并作为单独的一列与其它查询结果一起显示。这样的使用仅仅在很特殊的场合中才存在。(2)列与常量的结合使用很多时候需要对查询到的数据进行一些计算,结合使用列与常量能很好的完成用户所想实现的功能。加、减、乘、除这四种运算符都能在表达式中使用。(3)在表达式中同时使用多个列SQL中不仅可以对列与常量使用表达式,还支持在列与列之间使用算术运算符。,二、指定检索列4、别名的使用,SELECTdnumber,dname,mgrid,mgrstrdateFROMDepartmentResultsdnumberdnamemgridmgrstrdate1开发部10012001-11-32市场部20012002-3-13人事部30012001-4-54技术部40012001-1-155测试部50012002-6-56财务部60012002-3-106rows,SELECTdnumber,dnameASDepartment,mgridFROMDepartmentResultsdnumberDepartmentmgrid1开发部10012市场部20013人事部30014技术部40015测试部50016财务部60016rows,在SQL中定义了关键字AS来改变select_list中的列和表达式在显示结果时的名称。这样显示的名称可以改善查询结果的可读性。AS不仅可以改变select_list中的列在显示结果时的名称,还可以为表达式指定显示时的名称。,三、指定检索表SELECT语句中的FROM子句用来指定从那个表或视图中检索数据。table_list/view_list列出表或视图的名称,表名之间也是使用逗号隔开。为了明确说明列属于哪个表,可以在列名之前加上表名作为限定。SQL中提供了对表创建别名的方法来简化限定使用。,SELECTDepartment.dnumber,Department.dname,Department.mgridFROMDepartment,四、使用WHERE子句筛选WHERE子句在使用SELECT语句进行查询时最重要的子句,在WHERE子句中指出了检索的条件,系统进行检索时将按照这些指定的条件对表中记录进行检索,找到符合条件的记录。在SQL中提供了各种的运算符和关键字来定义搜索条件。其中,运算符分为比较运算符与逻辑运算符。关键字有IN、BETWEEN、LIKE、ISNULL、ISNOTNULL等等。1、比较运算符比较运算符在WHERE子句中使用的非常普遍,几乎所有的条件都要用到比较运算符。,(1)数字的比较(2)字符串的比较(3)时间的比较,四、使用WHERE子句筛选2、逻辑运算符很多情况下,在WHERE子句中仅仅使用一个条件并不能准确的从表中检索到需要的数据。为了处理多条件查询,SQL提供了三个逻辑运算符:AND、OR、NOT。,四、使用WHERE子句筛选2、逻辑运算符,SELECTpnumber,budget,gross,grossbudgetASprofitFROMProjectWHERENOT(grossbudget)=40000.00ANDbudget200000.00)Resultspnumberbudgetgrossprofit101110000.00150000.0040000.00102140000.00180000.0040000.00103150000.00180000.0030000.00104120000.00160000.0040000.00201200000.00250000.0050000.00202220000.00280000.0060000.00301300000.00370000.0070000.00302320000.00380000.0060000.00303360000.00450000.0090000.009rows,四、使用WHERE子句筛选3、IN子句在查找特定条件的数据时,如果条件较多,就需要用到多个OR运算符,以查找满足其中任一条件的记录。但是使用多个OR运算符,将使得WHERE子句变得过于冗长。SQL提供了IN子句来取代多个OR运算符。,SELECTselect_listFROMtable_list/view_listWHEREcolumnNOTIN(value_list),SELECTname,sex,id,salary,dnoFROMEmployeeWHEREdno=1ORdno=2ORdno=3Resultsnamesexidsalarydno林志千男10016000.001李明男10025000.001李大平男10033000.001林国荣男10044000.001庞文凯男10053000.001陈广海男20015000.002刘燕女20023000.002林志祥男20033000.002张宇男30015000.003吴忠彦男30023000.003魏箐女30034000.003王静女30043000.00312rows,SELECTname,sex,id,salary,dnoFROMEmployeeWHEREdnoIN(1,2,3)Resultsnamesexidsalarydno林志千男10016000.001李明男10025000.001李大平男10033000.001林国荣男10044000.001庞文凯男10053000.001陈广海男20015000.002刘燕女20023000.002林志祥男20033000.002张宇男30015000.003吴忠彦男30023000.003魏箐女30034000.003王静女30043000.00312rows,四、使用WHERE子句筛选4、BETWEEN子句在查询中,限制范围也是经常使用的一个条件。用户可以同时使用大于(等于)号、小于(等于)号和AND运算符三者来完成范围的限制。SQL中提供了专门的BETWEEN子句也可以完成范围的限制。SQL也支持NOT与BETWEEN结合使用。,SELECTselect_listFROMtable_list/view_listWHEREcolumnNOTBETWEENlower_valueANDupper_value,SELECTpnumber,budgetFROMProjectWHEREbudgetBETWEEN150000.00AND250000.00Resultspnumberbudget103150000.00201200000.00202220000.00203250000.00204240000.005rows,四、使用WHERE子句筛选5、LIKE子句在SQL中提供了解决模式匹配问题的匹配方法LIKE关键字,SELECTselect_listFROMtable_list/view_listWHEREcolumnNOTLIKEpatternESCAPEescape_char,在使用中有两点需要说明:(1)在pattern中使用通配符来指定字符串匹配的模式,匹配的模式必须包含在引号中;(2)当模式中需要使用通配符的原义时,使用可选项ESCAPE,并在escape_char中指定使用的转义符。,四、使用WHERE子句筛选6、等号、IN、LIKE三者的比较SQL中等号、IN、LIKE三者都可以用来进行数据匹配。但三者并不相同。等号是用来查找与单个值匹配的所有数据;IN是用来查找与多个值匹配的所有数据;而LIKE用来查找与一个模式匹配的所有数据。,四、使用WHERE子句筛选7、空值的处理在很多情况下,表中记录在某一列的值为空值是常有的事。SQL中提供了专门的ISNULL子句和ISNOTNULL子句以进行NULL的判断。,SELECTselect_listFROMtable_list/view_listWHEREcolumnISNOTNULL,四、使用WHERE子句筛选8、WHERE子句中有用的函数,删除多余空格:SQL中提供了TRIM()函数来方便的删除字符串的串前串后可能存在的空格。,字符串函数:SQL中为字符串提供了很多有用的函数,如LOWER(str)函数.,类型转换函数:SQL中提供了三个转换函数:CONVERT()、TO_CHAR()和TO_NUMBER()函数。,聚集函数:SQL中提供了很多聚集函数可以方便的进行最大值、最小值、平均值等的计算。,函数的嵌套:SQL支持函数的嵌套使用。例如,使用先使用SUBSTR()函数从一个字符串中取出一个字串,再使用TRIM()函数去除可能的前后空格。,SELECTname,sex,id,salaryFROMEmployeeWHERETRIM(name)=王静,TRIM(SUBSTR(NO.9ShengliRoad,21),CONVERT(data_type,expression,style),SELECTnameFROMEmployeeWHERELOWER(name)=mike,本章小结:掌握SELECT语句的基本定义掌握SELECT语句各字句的使用方法,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!