资源描述:
《数据库原理第4 章S QL.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Chapter4:SQL基本结构BasicStructure集合操作SetOperations聚集函数AggregateFunctions空值NullValues嵌套子查询NestedSubqueries派生关系DerivedRelations视图Views数据库更新ModificationoftheDatabase连接关系JoinedRelations数据定义语言DataDefinitionLanguage嵌入式SQL,ODBC和JDBC。EmbeddedSQL,ODBCandJDBCSchemaUsedi
2、nExamples示例用的模式BasicStructure基本结构典型的SQL形式如下:AtypicalSQLqueryhastheform:selectA1,A2,...,Anfromr1,r2,...,rmwherePAi代表属性ri代表关系P是谓词.Thisqueryisequivalenttotherelationalalgebraexpression:该查询等价于如下的关系代数表达式:A1,A2,...,An(P(r1xr2x...xrm))TheresultofanSQLqueryisare
3、lation.SQL查询的结果是关系。TheselectClauseselect子句SELECT子句对应于关系代数中的投影操作。用于列示查询结果中所需的属性。Findthenamesofallbranchesintheloanrelation.找出贷款关系中所有支行的名称。selectbranch-namefromloan在“纯”关系代数“语法中,查询如下:Inthe“pure”relationalalgebrasyntax,thequerywouldbe:branch-name(loan)SELECT子
4、句中的星号表示”所有属性“。Anasteriskintheselectclausedenotes“allattributes”select*fromloan注意:SQL不允许使用”-“字符作为名称,因此最好用下划线代替,这里使用”-“只是因为它看起来比较顺眼。例如:用branch_name代替branch-name。NOTE:SQLnamesarecaseinsensitive,meaningyoucanuseuppercaseorlowercase.注意:SQL命名是大小写不敏感的,即大小写都可以。可以大
5、写字母代替上述加浓的字。Youmaywishtouseuppercaseinplaceswhereweuseboldfont.字段名(列名)字段命名要遵守标识符有关格式的规定:标识符的首字符必须是英文字母,汉字,下划线“_”,“@”或“#”。标识符的其他字符可以是英文字母,汉字,数字,下划线“_”,“@”、“#”或“$”。标识符不允许是T-SQL的保留字。由于T-SQL不区分大小写,所以无论是保留字的大写还是小写都不允许使用。标识符内部不允许有空格或特殊字符。字段名不得超过128个字符。同一表中不许有重名列。
6、当使用规则标识符时,可以不写引号或“[]”;当使用界定标识符时,必须使用单引号、双引号或“[]”括起来。TheselectClause(Cont.)SQL允许查询结果和关系中出现重复行。(因在实践中,重复元组的删除是相当费时的。)要强制消除重复,在SELECT后使用DISTINCT关键词。selectdistinctbranch-namefromloanThekeywordallspecifiesthatduplicatesnotberemoved.关键词ALL指定不消除重复。默认的是保留重复,可以不使用al
7、l。selectallbranch-namefromloanSELECT子句可以包含算术表达式,允许+、-、*、/,也可以对常量和元组的属性操作。selectloan-number,branch-name,amount100fromloanThewhereClauseThewhereclausecorrespondstotheselectionpredicateoftherelationalalgebra.WHERE子句对应关系代数中的选取谓词。Thefindallloannumberforloansma
8、deathePerryridgebranchwithloanamountsgreaterthan$1200.找出在Perryridge支行贷款的且贷款额超过1200美元的贷款号。selectloan-numberfromloanwherebranch-name=‘Perryridge’andamount>1200SQL在where子句中使用逻辑运算符and,or,和not但不用算术符号,v‚。逻