资源描述:
《Oracle数据库教程-SQL篇》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、SQL语言基础主要内容基本的SELECT语句约束和排序数据单行函数多表显示数据、组函数合计数据创建和管理表子查询&操纵数据内置约束创建视图其他数据库对象基本的select语句目标完成本课后,您应当能够:•列出SQLSELECT语句的功能•执行基本的SELECT语句SQLSELECT语句的功能列选择:你能够使用SELECT语句的列选择功能选择表中的列,这些列是你想要用查询返回的。当你查询时,你能够选择你查询的表中指定的列。行选择:你能够使用SELECT语句的行选择功能选择表中的行,这些行是你想要用查
2、询返回的。你能够使用不同的标准限制你看见的行。连接:你能够使用SELECT语句的连接功能来集合数据,这些数据被存储在不同的表中,在它们之间可以创建连接。在后面的课程中你将学到更多关于连接的内容。基本SELECT语句SELECT*
3、{[DISTINCT]column
4、expression[alias],...}FROMtable;•SELECT确定哪些列•FROM确定哪张表选择所有列与指定列SELECT*FROMdepartments;用跟在SELECT关键字后面的星号(*),你能够显示表中数据的所
5、有列。SELECTdepartment_id,location_idFROMdepartments;你能够用SELECT语句来显示表的指定列,指定列名之间用逗号分隔。写SQL语句•SQL语句对大小写不敏感•SQL语句可以写成一行或多行•关键字不能简写或分开折行•子句通常放在不同的行•缩进用于增强可读性算术表达式用算术运算符创建数字和日期数据的表达式操作说明+加-减*乘/除使用算术运算符SELECTlast_name,salary,salary+300FROMemployees;优先级:•乘法和除法
6、比加法和减法的优先级高•相同优先级的运算符从左到右计算•圆括号用于强制优先计算,并且使语句更清晰SELECTlast_name,salary,12*salary+100FROMemployees;空值•null是一个未分配的、未知的,或不适用的值•null不是0,也不是空格•包含空值的算术表达式计算结果为空SELECTlast_name,job_id,salary,commission_pctFROMemployees;定义列别名列别名:•改变列标题的名字•可用于计算结果•紧跟在列名后面–在列名和
7、别名之间可以有选项AS关键字•如果别名中包含有空格、或者特殊字符、或者大小写敏感,要求用双引号SELECTlast_nameASname,commission_pctcommFROMemployees;连字运算符连字运算符:•连接列或者字符串到其它的列•用两个竖线表示(
8、
9、)•构造一个字符表达式的合成列SELECTfirst_name
10、
11、last_nameASEmployeesFROMemployees;文字字符串•文字字符串是包含在SELECT列表中的一个字符串,一个数字或者一个日期•日期和字符
12、的文字字符串值必须用单引号括起来•每个文字字符串在每行输出一次SELECTlast_name
13、
14、'isa'
15、
16、job_idAS"EmployeeDetails”FROMemployees;约束和排序数据目标完成本课后,您应当能够执行下列操作:•用一个查询限制返回的行•用一个查询分类返回的行限制选择的行用WHERE子句限制返回的行SELECT*
17、{[DISTINCT]column
18、expression[alias],...}FROMtable[WHEREcondition(s)];WHERE子句跟着
19、FROM子句WHERE限制查询满足条件的行condition由列名、表达式、常数和比较操作组成WHERE子句能够比较列值、文字值、算术表达式或者函数,WHERE子句由三个元素组成:列名,比较条件,列名、常量或值列表。使用WHERE子句SELECTemployee_id,last_name,job_id,department_id]FROMemployeesWHEREdepartment_id=90;字符串和日期•字符串和日期的值放在单引号中•字符值区分大小写,日期值是格式敏感的•日期的默认格式是D
20、D-MON-RR.SELECTlast_name,job_id,department_idFROMemployeesWHERElast_name='Whalen';比较条件运算含义=等于>大于>=大于等于<小于<=小于等于<>不等于比较条件被用于一个表达式与一个值或与另一个表达式的比较。...WHEREhire_date='01-JAN-95'...WHEREsalary>=6000...WHERElast_name='Smith'其它比较条件操作含义BETWEEN...AND..