资源描述:
《Oracle9i第4章 数据库的查询和视图免费下载.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、4.1连接、选择和投影4.1.1选择【例4.1】学生情况表如表4.1所示。学生表中性别为女且平均成绩在80分以上的行形成一个新表,该选择运算的结果如表4.2所示。1第4章数据库的查询和视图4.1.2投影【例4.2】若在表中对“姓名”和“平均成绩”投影,该查询得到如表所示的新表。2第4章数据库的查询和视图4.1.3连接【例4.3】若表A和B分别如表4.4和表4.5所示,则连接后结果如表4.6所示。3第4章数据库的查询和视图4.1.3连接【例4.4】若表A和表B分别如表4.7和表4.8所示,自然连接后的新表
2、C如表4.9所示。4第4章数据库的查询和视图4.2数据库的查询语法格式:SELECTselect_listFROMtable_source[WHEREsearch_condition][GROUPBYgroup_by_expression][HAVINGsearch_condition][ORDERBYorder_expression[ASC
3、DESC]]5第4章数据库的查询和视图4.2.1选择列语法格式:SELECT[ALL
4、DISTINCT]其中select_list指出了
5、结果的形式,select_list的主要格式为:{*/*选择当前表或视图的所有列*/
6、{table_name
7、view_name
8、table_alias}.*/*选择指定的表或视图的所有列*/
9、{colume_name
10、expression}[[AS]column_alias]/*选择指定的列*/
11、column_alias=expression/*选择指定列并更改列标题*/}[,…n]6第4章数据库的查询和视图4.2.1选择列选择一个表中指定的列语法格式:SELECTcolumn_name[,colum
12、n_name…]FROMtable_nameWHEREsearch_condition【例4.5】查询XSCJ数据库的XS表中各个同学的XM、XH和ZXF。SELECTXH,XM,ZXFFROMXS;【例4.6】查询XS表中ZXF大于45同学的XH、XM和ZXF。SELECTXH,XM,ZXFFROMXSWHEREZXF>45;7第4章数据库的查询和视图4.2.1选择列【例4.7】查询XS表中的所有列。SELECT*FROMXS;该语句等价于语句:SELECTXH,XM,ZYM,XBCSSJ,ZXF,B
13、ZFROMXS;8第4章数据库的查询和视图4.2.1选择列修改查询结果中的列标题【例4.8】查询XS表中计算机同学的XH、XM和ZXF,结果中各列的标题分别指定为学号、姓名和总学分。SELECTXHAS学号,XMAS姓名,ZXFAS总学分/*也可以省略AS*/FROMXSWHEREZYM=’计算机’;9第4章数据库的查询和视图4.2.1选择列计算列值格式为:SELECTexpression[,expression]【例4.9】创建产品销售数据库XSH,并在其中创建产品表CP,其表结构如表所示。10第4章
14、数据库的查询和视图4.2.1选择列下列语句将列出产品名称和产品总值:SELECTCPMCAS产品名称,JG*KCLAS产品总值FROMCP;11第4章数据库的查询和视图4.2.1选择列消除结果集中的重复行格式是:SELECTDISTINCTcolumn_name[,column_name…]【例4.10】对XSCJ数据库的XS表只选择ZYM和ZXF,消除结果集中的重复行。SELECTDISTINCTZYMAS专业名,ZXFAS总学分;该语句执行的结果为:专业名总学分计算机48计算机50计算机52计算机5
15、4通信工程40通信工程42通信工程44通信工程5012第4章数据库的查询和视图4.2.1选择列【例4.11】以下的SELECT语句对XSCJ数据库的XS表选择ZYM和ZXF,不消除结果集中的重复行。SELECTALLZYMAS专业名,ZXFAS总学分;说明:当SELECT语句中不写ALL与DISTINCT时,默认值为ALL。13第4章数据库的查询和视图4.2.2选择行WHERE子句必须紧跟FROM子句之后,其基本格式为:WHERE其中search_condition为
16、查询条件,格式为:{[NOT]
17、()}[{AND
18、OR}[NOT]{
19、()}]}[,…n]其中predicate为判定运算,结果为TRUE、FALSE或UNKNOWN,格式为:{expression{=
20、<
21、<=
22、>
23、>=
24、<>
25、!=}expression/*比较运算*/
26、string_expression[NOT]LIKE