您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > oracle基础课程-select相关使用方法
编写简单的SELECT语句目标:本章旨在向学员介绍结构化查询语言的SELECT语句,通过本课的学习,学员应该掌握如下知识:1)基本查询语句及书写规则2)别名的使用方法3)关键字的使用方法SQL语言简介基本查询语句SQL语句的书写规则算术表达式的使用空值(NULL)的应用列别名的使用连接运算符的使用DISTINCT关键字的用法SQL*PLUS/iSQL*PLUS命令的介绍本章要点EMPLOYEES(员工信息表)主要有employee_id(员工编号)、last_name(姓)、job_id(职位)、salary(工资)等。JOBS(职位信息表)主要有job_id(职位)、job_title(职位全称)等。JOB_GRADES(工资级别表)主要有grade_level(工资级别)、lowest_salary(最低工资)、highest_salary(最高工资)等。课程案例环境简介departments(部门信息表)主要包括department_id(部门编号)、department_name(部门名称)、location_id(位置编号)等。locations(位置信息表)主要包括location_id(位置编号)、street_adress(地址)、city(城市)等。课程案例环境简介(续)SQL称结构化查询语言(StructuredQueryLanguage)SQL是操作和检索关系型数据库的标准语言。已在Oracle、DB2等数据库管理系统上得到了广泛应用。使用SQL语句,程序员和数据库管理员可以完成如下的任务:改变数据库的结构更改系统的安全设置增加用户对数据库或表的许可权限在数据库中检索需要的信息对数据库的信息进行更新SQL语言简介DQL语句(数据查询语言)SelectDML语句(数据操作语言)Insert/Update/Delete/MergeDDL语句(数据定义语言)Create/Alter/Drop/TruncateDCL语句(数据控制语言)Grant/RevokeTCL语句事务控制语句Commit/Rollback/SavepointSQL语句分类基本查询语句语法:“*”号的使用在查询语句中查找特定的列SELECT基本查询语句SELECT*|{[DISTINCT]列名|表达式[别名][,...]}FROM表名;查询公司所有部门的信息。第一条查询语句SELECT*FROMdepartments;查询公司所有部门的信息。试比较哪条语句执行效率更高?第一条查询语句(续)SELECTdepartment_id,department_name,manager_id,location_idFROMdepartments;在查询语句中查找特定列SELECTdepartment_name,location_idFROMdepartments;SQL语句相关概念:关键字(Keyword):SQL语言保留的字符串,在自己的语法使用。例如,SELECT和FROM是关键字。语句(statement):一条完整的SQL命令。例如,SELECT*FROMdepartments;是一条语句。子句(clause):部分的SQL语句,通常是由关键字加上其他语法元素构成。例如,SELECT*是子句,FROMdepartments也是子句。SQL语句的书写规则不区分大小写。也就是说SELECT,select,Select,执行时效果是一样的。可以单行来书写,也可以书写多行,建议分多行书写,增强代码可读性。通常以子句分行。关键字不可以缩写、分开以及跨行书写。如SELECT不可以写成SEL或SELECT等形式。每条语句需要以分号(;)结尾。关键字大写,其他语法元素(如列名、表名等)小写。代码适当缩进。SQL语句书写规则算术运算符:+,-,*,/算术表达式中优先级规则:先算乘除,后算加减。同级操作符由左到右依次计算。括号中的运算优先于其他运算符。对NUMBER型数据可以使用算数操作符创建表达式(+-*/)对DATE型数据可以使用部分算数操作符创建表达式(+-)算术表达式的使用SELECTemployee_id,last_name,salary,salary+400FROMemployees;优先级示例SELECTemployee_id,last_name,salary,400+salary*12FROMemployees;SELECTemployee_id,last_name,salary,(400+salary)*12FROMemployees;NULL:表示未定义的,未知的。空值不等于零或空格。任意类型都可以支持空值。空值(NULL)在算术表达式中的使用包括空值的任何算术表达式都等于空包括空值的连接表达式(||)等于与空字符串连接,也就是原来的字符串空值(NULL)SELECTlast_name,salary,(400+salary)*12+(400+salary)*12*commission_pctFROMemployees;列别名基本书写方法有两种方式:第一种方式:列名列别名第二种方式:列名AS列别名以下三种情况,列别名两侧需要添加双引号():列别名中包含有空格列别名中要求区分大小写列别名中包含有特殊字符使用列别名的方法使用列别名的方法(续)SELECTemployee_idid,last_nameasemployee_name,salarySalary,(400+salary)*12AnnualSalaryFROMemployees;采用双竖线(||)来做连接运算符,更清楚地表达实际意思。连接运算符的使用SELECTfirst_name||''||last_name||'''sphonenumberis'||phone_numberemployeePhonenumberFROMemployees;DISTINCT取消重复行DISTINCT关键字的用法SELECTDISTINCTdepartment_idFROMemployees;SELECTDISTINCTdepartment_id,job_idFROMemployees;SQL语句与SQL*PLUS/iSQL*PLUS命令有以下主要区别:SQL语句是开发语言,而SQL*PLUS/iSQL*PLUS是Oracle使用的工具。SQL语句直接访问Oracle数据库,并返回结果;而SQL*PLUS/iSQL*PLUS命令是在返回结果上进行处理,如显示格式等。SQL*PLUS/iSQL*PLUS命令只是使每个客户端环境有所不同,不会直接访问数据库。SQL语句不可以缩写,而SQL*PLUS/iSQL*PLUS命令可以缩写。SQL*PLUS/iSQL*PLUS命令结尾可以不加分号(;)。SQL语句与SQL*PLUS/iSQL*PLUS命令的区别DESC[RIBE]命令:显示表结构DESCemployeesSET命令:设置环境变量语法:SET系统变量值SETHEADING{ON|OFF}:控制是否显示列标题。默认是ON设置列的显示长度:对于字符字段,使用colHIREDATEformata100;对于数字字段,使用colDEPTNOformat999;表示显示3位数字SQL*PLUS/iSQL*PLUS命令SQL*PLUS/iSQL*PLUS命令示例SETHEADINGOFFcolEMAILformata20selectEMPLOYEE_ID,FIRST_NAME,LAST_NAME,EMAILfromemployees;SETHEADINGONSql*plus的默认显示Date和character型数据左对齐Numeric型数据右对齐列标题默认显示为大写iSql*plus的默认显示列标题缺省居中对齐列标题默认显示为大写列标题的默认显示基本的SQL查询语句的构成。课程案例环境的设计。查询语句的书写。如何在查询语句中查找特定的列SQL语句的书写规则算术表达式的使用空值(NULL)的应用列别名的使用连接运算符的使用DISTINCT关键字的用法SQL*PLUS/iSQL*PLUS命令的介绍本章小结1.查询员工表中所有员工的信息。2.查询员工表中员工的员工号、姓名、每个员工涨工资100元以后的年工资(按12个月计算)。3.查询员工first_name和last_name,要求结果显示为“姓last_name名first_name”格式。4.查询所有员工所从事的工作有哪些类型(要求去掉重复值)。练习
本文标题:oracle基础课程-select相关使用方法
链接地址:https://www.777doc.com/doc-7797589 .html