资源描述:
《从实践中学习oraclesql读书笔记》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《从实践中学习oracle/SQL》读书笔记第一章:简单查询语句1. 在查询语句中,实际上只有select和from语句是必须的,这是最简单的查询语句2. “*”表示所有的列,“;”以分号结束3. Oracle有许多Unix和C的影子4. 在查询语句中选择指定的列,就是关系数据库中所称的投影(project)。5. 组成SQL语句的关键字是不能缩写的,即关键字必须原样书写。6. SQL关键字不区分大小写,尽量采用大写
2、,是oracle推荐的。7. 一个完整的sql语句叫:statement,每个关键字和后面跟着的选项叫子句:clause8. SELECT*FROMemployees9. altersessionSETNLS_DATE_LANGUAGE="AMERICAN"10. colhiredatefora1511. 列标题和数据的显示格式12. 在SQL可以使用*,/,+,-四种运算符13. 给一列起一个别名,只要在列名和别名之间放上AS活空格就可以了,别名可以用引号括起来
3、,也可以不括起来,如果不括起来,则显示为大写,括起来后,则按别名原样显示14. 两个列之间可以用逗号分隔开,也可以用联字符
4、
5、分割开如:15. selectfirst_name,(500+salary)*1216. selectfirst_name
6、
7、'annualsalaryis'
8、
9、(500+salary)*12as"Employee'sSalary"fromemployees17. 上面连个例子的显示效果是差不多的18. 上面使用了文本字符串(literal)和连接字符串。19. 文本字符串是
10、包含在SELECT子句中的字符,数字或表达式,而不是任何的列名或列的别名。20. 如果文本字符串是日期型和字符型,则必须用单引号括起来。每个字符串在每行输出结果中都输出一次。文本字符串会原样显示,不会影响列名,也不会影响查询。21. 连接字符串(
11、
12、)把一个多多个列或字符串连接在一起。22. DISTINCT去掉重复的行,当查询比较大时,尽量避免使用,应为oracle是通过排序来完成的,所以会造成效率降低。所以可以用不同语句来完成。Distinct可以作用于多列,此时显示的结果为每一列组合只显示一行
13、。第二章:限制性查询和数据的排序1. Where子句用来限制哪些行要显示,这在关系数据库中称为选择(Selection)操作。Where子句跟在from子句之后。2. Where是关键字,其后跟限制条件3. 条件由列名,字符串,算术表达式,常量和比较运算符组成4. >,<,<=,>=,=,<>,!=,BETWEENAND,IN,LIKE是oracle提供的9个比较运算符。5. 一般把比较运算符用在条件语句中6. BETWEEN1AND
14、2运算符用于测试某些值是否在指定数值范围之内,1下限,2叫上限,该运算符可以用于数值型,字符型和日期型,但后面的两种类型必须用单引号括起来。7. 被单引号括起来的字符串是区分大小写的。8. selectempnamefromempwherehiredatenotbetween'01-JAN-81'AND'31-MAY-82'9. IN用来测试某些值是否在列表中出现10. selectempnamefromempwherejobnotin('analyst','presiden
15、t')11. LIKE运算符selectempfromempwherejoblike'%sal_';%代表多个字符,-代表一个且只能是一个字符12. 转义字符和~13. 如果不在查询语句中使用orderby则查询结果是不确定的。Orderby子句一定是SQL语句的最后一个子句。14. Orderby中也可以用Select子句中定义的列名的别名。15. Orderby中也可以用Select子句中定义的表达式的别名。16. Orderby中也可以用列号。为了可读性,尽量少用17. Orderby也可以
16、不用在select列表中列出的列。但为了可读性,尽量避免。18. Orderby子句中也可以使用多列,如果要排序,需要为每一列分别指定排序方式19. selectjob,sal,enamefromemporderbyjob,saldesc第四章:单行函数:1.单行函数只能对表的一行数据操作,并且对表的每一行只产生一个输出结果。可以接收一个或多个参数:单行函数可以用在select,where,orderby子句中2.单行函数包括:字符型,数字型,日期型,转化型,一般型3