欢迎来到天天文库
浏览记录
ID:44230094
大小:244.94 KB
页数:8页
时间:2019-10-19
《oracle查询学习总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Oracle查询学习查询查询产生一个虚拟表,看到的是表形式显示的结果,但结果并不真正存储,每次执行查询只是现从数据表中提取数据,并按照表的形式显示出来。查询语法SELECTv列名〉FROMv表名〉[WHEREv查询条件表达式〉][ORDERBY<排序的列名>[ASC或DESC]]示例SELECTStudentld,StudentName,AddressFROMStudentsWHERESEX='男'ORDERBYStudentld列别名可以使用as來为列指定一个新的名字,as可省略列别名可以用双引号包围起來,也
2、可以不用双引号。“学号"或者学号都行。Selectstudentidas"学号"FromStudent■NULL查询时候,必须使用isnull或者isnotnullNULL值与数字进行算术运算的结果为NULL可以使用NVL函数,为NULL值返回一个替代的值。NVL(StudentResult,0)即为,如果studentresult是NULL值,则返回0聚合函数Sum求和Avg求平均Max最大值Min最小值Count计数案例一某公司印了一批充值卡,卡的密码是随机生成的,现在出现这个问题:卡里面的“0和0”(哦和
3、零)“i和(哎和一),用户反映说看不清楚,公司决定,把存储在数据库中的密码中所冇的“哦”都改成“零”,把所冇的“i”都改成“1”;请编写SQL语句实现以上要求;数据库表名:Card密码字段名:PasswordUPDATECardSETPassword=Replace(Replace(PassWord/O'/O'J/i'/l')案例二在数据库表中有以下字符数据,如:13-1>13-213・3、13-10>13-100>13-108^13-18^13-11^13-15>14-1>14-2现在希望通过SQL语句进行排
4、序,并且百先要按照前半部分的数字进行排序,然后再按照示半部分的数字进行排需,输岀要排成这样:13J、13-2>13-3>13-10>13-11>13-1513-18>13-100>13-108.1牛1、14-2数据库表名:SellRecord字段名:ListNumberSELECTListNumberFROMSellRecordORDERBYto_number(substr(list_numbei;:l,instr(list_number7・')・l)),to_number(substr(list_number
5、;instr(list_number;'」)+l))模糊查询•查询时,字段中的内容并不一定与查询内容完全匹配,只要字段中含有这些内容使用LIKE关键字,配合通配符进行模糊查询。字符匹配操作可以使用通配符“%"和“—〃%:表示任意个字符,包扌舌零个_:表示一个任意字符转义符如果要模糊查询出含有%或者一等通配符的的记录吋,可以使用转义符,模糊查询出含冇%的地址select*fromstudentwhereaddresslike'%%%'escape此处第一个%和第三个%为通配符,使用了escape丫使笫二个%失去
6、了通配符的含义,它代表的就是%模糊查询出含有_的地址select*fromstudentwhereaddresslike'%b_%'escape*b';单引号的转义,使用两个单引号updatestudentsetaddress='2"3'wherestudentid=1039;NULL值的处理查询某个字段为空,使用isnull查询某个字段不为空,使用isnotnull对NULL做算术运算结果仍为NULL,可以使用NVL函数,将NULL值转为0之后,再进行运算。NULL排序比其他所冇类型的都大,一个可以为空的字段
7、倒排序,NULL值排在最前面。下面的语句,gradeid是NULL的行排在前面。select*fromstudentorderbygradeiddesc;如果要想降序排列,同时使null的行排在最后面,可以使用NVL函数。select*fromstudentorderbynvl(gradeid,O)desc;BetweenAND•把某一字段中内容在特定范围内的记录查询出來SELECTStudentlD,StudentResultFROMResultWHEREStudentResultBETWEEN60AND80
8、;上面语句等价于StudentResult>=60andStudentResult<=80IN•把某一字段中内容与所列岀的查询内容列表匹配的记录查询出來SELECTStudentNameAS学员姓名,AddressAs地址FROMStudentsWHEREAddressINC北京丁广州T上海');上面语句等价于Address='北京,orAddress='广州'orAddress=,上
此文档下载收益归作者所有