- 1、本文档共111页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
什么是查询? 1.SQL语言是( )的语言,容易学习 。 A. 过程化 B.非过程化 C.格式化 D.导航式 2.在视图上不能完成的操作是( ) 。 A.更新视图 B.查询 C.在视图上定义新的表 D.在视图上定义新的视图 3.SQL语言中,删除一个视图的命令是( )。 A.DELETE B.DROP C.CLEAR D.REMOVE 4.在SQL语言中的视图VIEW是数据库的( ) 。 A.外模式 B.模式 C.内模式 D.存储模式 5.下列的SQL语句中,( )不是数据定义语句。 A.CREATE TABLE B.DROP VIEW C.CREATE VIEW D.GRANT 6.若要撤销数据库中已经存在的表S,可用( )。 A.DELETE TABLE S B.DELETE S C.DROP TABLE S D.DROP S 7.若要在基本表S中增加一列CN(课程名),可用( )。 A. ADD TABLE S(CN CHAR(8)) B. ADD TABLE S ALTER(CN CHAR(8)) C. ALTER TABLE S ADD(CN CHAR(8)) D. ALTER TABLE S (ADD CN CHAR(8)) 使用时应该注意以下几点: ① 子查询需要用圆括号( )括起来; ② 子查询的select语句中不能使用image、text或ntext数据类型; ③ 子查询返回的结果值的数据类型必须匹配新增列或where子句中的数据类型; ④ 子查询中不能使用compute [by]或into子句; ⑤ 在子查询中不能出现order by子句,order by子句应该放在最外层的父查询中。 (2)连接查询 连接查询分为五种类型:内连接、左外连接、右外连接、完全外部连接和交叉连接 。 数据库的设计原则是精简,通常是各个表中存放不同的数据,最大限度的减少数据库冗余数据。而实际工作中,往往需要从多个表中查询出用户需要的数据并生成单个的结果集,这就是连接查询。 连接查询的语法格式 ㈠:在FROM子句表示,格式为 ㈡:在WHERE子句表示,格式为:: 连接查询注意事项 连接查询实际上是通过各个表之间共同列的关联性来查询数据,使用时应该注意以下几点。 尽可能以表的主键和外键来指定连接条件,如果以各表共同拥有的列来指定连接,则这些列的数据类型必须相同或相兼容。 如果所要连接的表具有相同的列名,则在引用这些列的时候,必须指定其表名,格式为:表名.列名 参与连接查询的表的个数越多,SQL Server处理这个查询所花费的时间就越长,所以应该尽量限制表的个数。 1)内连接 所谓内连接指的是返回参与连接查询的表中所有符合条件的行,是默认类型。使用关键字INNER JOIN表示。 例 查询销售商品的编号、名称和销售数量。 2)左外连接 所谓左外连接指的是返回参与连接查询的表中所有匹配的行(内连接的行)和所有来自左表的不符合指定条件的行。在右表中对应于左表无记录的部分用null值表示。使用关键字left [outer] join表示。 查询销售商品的编号、名称和销售数量,使用左外连接(left [outer] join)完成。 3)右外连接 所谓右外连接指的是返回参与连接查询的表中所有匹配的行(内连接的行)和所有来自右表的不符合指定条件的行。在左表中对应于右表无记录的部分用NULL值表示。在ANSI连接形式中使用关键字right [outer] join表示。 4)完全外部连接 所谓完全外部连接指的是返回连接的两个表中的所有相应记录,无对应记录的部分用NULL值表示。使用关键字full [outer] join表示。 5)交叉连接 所谓交叉连接指的是返回两个表交叉查询的结果。它返回两个表连接后的所有行(即返回两个表的笛卡尔积),不需要用ON子句来指定两个表之间任何连接的列。 连接查询和子查询的比较 例1(子查询):查询books中价格最低的图书编号和书名 SELECT BID,Bname FROM books WHERE Price=(SELECT min(Price) FROM books) 例2(连接查询): 查询读者编号、读者姓名、所借图书名和借阅时间 SELECT Reader.RID,Reader.Rname,books.Bname,Borrow.借阅时间 FROM Reader,books,Borrow WHERE Reader.RID=Borrow. RID AND books.BID= Borrow.BID 连接
文档评论(0)