资源预览内容
第1页 / 共81页
第2页 / 共81页
第3页 / 共81页
第4页 / 共81页
第5页 / 共81页
第6页 / 共81页
第7页 / 共81页
第8页 / 共81页
第9页 / 共81页
第10页 / 共81页
亲,该文档总共81页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
ISSUEISSUE业务与软件产品课程开发室业务与软件产品课程开发室基本的DML和DDL介绍1.0华为机密,未经许可不得扩散文档密级:内部公开目标通过这部分课程的学习,您将了解以下内容 :lSelect 语句的功能l执行基本的Select语句l描述 DML 语句l在表中插入数据行l在表中修改数据行l从表中删除数据行l合并表中的数据行l控制事务处理华为机密,未经许可不得扩散文档密级:内部公开SELECT语句的功能SelectionProjectionTable 1Table 2Table 1Table 1Join华为机密,未经许可不得扩散文档密级:内部公开基础SELECT 语句语法SELECT*|DISTINCT column|expression alias,. FROMtable;华为机密,未经许可不得扩散文档密级:内部公开SELECT * FROM departments;选择所有的列华为机密,未经许可不得扩散文档密级:内部公开选择指定的列SELECT department_id, location_id FROM departments;华为机密,未经许可不得扩散文档密级:内部公开如何写SQL语句lSQL 语句不区分大小写l关键字不能分行隔开l条件通常被分行放置l缩进被用来提高语句的可读性华为机密,未经许可不得扩散文档密级:内部公开算术表达式通过使用算术操作符来表达数值型和日期型数据.Operator+-*/ 描述加 Add减 Subtract 乘 Multiply 除 Divide华为机密,未经许可不得扩散文档密级:内部公开使用算术操作符SELECT last_name, salary, salary + 300 FROM employees;华为机密,未经许可不得扩散文档密级:内部公开算术操作符优先级l乘除的优先级高于加减.l相同优先级从左到右依次处理.l括号被要求优先执行.* */ /+ +_ _华为机密,未经许可不得扩散文档密级:内部公开操作优先级SELECT last_name, salary, 12*salary+100 FROM employees;华为机密,未经许可不得扩散文档密级:内部公开使用圆括号SELECT last_name, salary, 12*(salary+100) FROM employees;华为机密,未经许可不得扩散文档密级:内部公开定义空值l空值是一种不可用、不被指派、未知、不确定的值l空值不同于零或一个空格SELECT last_name, job_id, salary, commission_pct FROM employees;华为机密,未经许可不得扩散文档密级:内部公开SELECT last_name, 12*salary*commission_pct FROM employees;在算术操作中的空值l算术操作中如有空值,运算结果返回为空.华为机密,未经许可不得扩散文档密级:内部公开使用列的别名SELECT last_name “Name“, salary*12 “Annual Salary“ FROM employees;SELECT last_name AS name, commission_pct comm FROM employees;华为机密,未经许可不得扩散文档密级:内部公开使用连接符SELECTlast_name|job_id AS “Employees“ FROM employees;华为机密,未经许可不得扩散文档密级:内部公开使用字符串SELECT last_name| is a |job_id AS “Employee Details“ FROM employees;华为机密,未经许可不得扩散文档密级:内部公开重复的行查询结果缺省显示所有的行,包括重复的行.SELECT department_id FROM employees;华为机密,未经许可不得扩散文档密级:内部公开排除重复的行SELECT DISTINCT department_id FROM employees;华为机密,未经许可不得扩散文档密级:内部公开使用SQL语句限制显示的行“retrieve all employees in department 90”EMPLOYEES华为机密,未经许可不得扩散文档密级:内部公开限制挑选出来的行SELECT*|DISTINCT column|expression alias,. FROMtable WHEREcondition(s);l使用WHERE语句限制返回的行lWHERE语句应该写在FROM语句之后华为机密,未经许可不得扩散文档密级:内部公开使用 WHERE 条件SELECT employee_id, last_name, job_id, department_id FROM employees WHERE department_id = 90 ;华为机密,未经许可不得扩散文档密级:内部公开字符串和日期值l都使用单引号l字符串值区分大小写,日期值需注意格式SELECT last_name, job_id, department_id FROM employees WHERE last_name = Whalen;华为机密,未经许可不得扩散文档密级:内部公开比较条件操作符=含义等于大于 大于或等于 小于 小于或等于不等于华为机密,未经许可不得扩散文档密级:内部公开SELECT last_name, salary FROM employees WHERE salary =10000 AND job_id LIKE %MAN%;华为机密,未经许可不得扩散文档密级:内部公开使用 OR 操作符SELECT employee_id, last_name, job_id, salary FROM employees WHERE salary = 10000 OR job_id LIKE %MAN%;满足任意一个条件即可返回真值华为机密,未经许可不得扩散文档密级:内部公开SELECT last_name, job_id FROM employees WHERE job_id NOT IN (IT_PROG, ST_CLERK, SA_REP);使用 NOT 操作符华为机密,未经许可不得扩散文档密级:内部公开优先规则使用括号可不遵照上述优先规则.优先级别 操作符1算术操作符 2连接操作符 3比较操作符 4IS NOT NULL, LIKE, NOT IN 5NOT BETWEEN 6NOT 逻辑条件 7AND逻辑条件 8OR 逻辑条件华为机密,未经许可不得扩散文档密级:内部公开SELECT last_name, job_id, salary FROM employees WHERE job_id = SA_REP OR job_id = AD_PRES AND salary 15000;优先规则华为机密,未经许可不得扩散文档密级:内部公开SELECT last_name, job_id, salary FROM employees WHERE (job_id = SA_REP OR job_id = AD_PRES) AND salary 15000;优先规则使用括号华为机密,未经许可不得扩散文档密级:内部公开SELECT last_name, job_id, department_id, hire_date FROM employees ORDER BY hire_date ;ORDER BY 条件l带 ORDER BY 条件的排序ASC: 升序,缺省DESC: 降序lORDER BY 条件在Select语句最后华为机密,未经许可不得扩散文档密级:内部公开降序排列SELECT last_name, job_id, department_id, hire_date FROM employees ORDER BY hire_date DESC ;华为机密,未经许可不得扩散文档密级:内部公开使用列别名排序SELECT employee_id, last_name, salary*12 annsal FROM employees ORDER BY annsal;华为机密,未经许可不得扩散文档密级:内部公开l按ORDER BY 列表中的列名顺序依次排序.SELECT last_name, department_id, salary FROM employees ORDER BY department_id, salary DESC;多列排序华为机密,未经许可不得扩散文档密级:内部公开数据操作语句l一条 DML 语句在下列情况下被执行:向表中增加新的数据行修改表中存在的数据从表中删除数据l一个事务由DML语句集合形成的逻辑工作单元构成.华为机密,未经许可不得扩散文档密级:内部公开向表中增加新的数据行DEPARTMENTS New rowinsert a new row into the DEPARMENTS table华为机密,未经许可不得扩散文档密级:内部公开INSERT 语句语法.INSERT INTOtable (column , column.) VALUES(value , value.);华为机密,未经许可不得扩散文档密级:内部公开向表中插入新的数据行l插入的新行应包括所有的列值.l插入的值应按照表中列缺省的顺序排列. l如插入所有的列, INSERT 条件中可随意选择是否列出所有列.INSERT INTO departments(department_id, department_name, manager_id, location_id) VALUES (70, Public Relations, 100, 1700); 1 row created.华为机密,未经许可不得扩散文档密级:内部公开INSERT INTOdepartments VALUES(100, Finance, NULL, NULL); 1 row created.1 row created.INSERT INTOdepartments (department_id, department_name ) VALUES(30, Purchasing); 1 row created.1 row created.插入带空值的数据行l 隐性的方法: 省略为空的列名.l显性的方法: 使用关键字NULL来指定为空的列.华为机密,未经许可不得扩散文档密级:内部公开INSERT INTO employees (employee_id, first_name, last_name, email, phone_number,hire_date, job_id, salary, commission_pct, manager_id,department_id) VALUES (113, Louis, Popp, LPOPP, 515.124.4567, SYSDATE, AC_ACCOUNT, 6900, NULL, 205, 100); 1 row created.1 row created.插入特殊的值SYSDATE 函数记录当前的日期和时间.华为机密,未经许可不得扩散文档密级:内部公开INSERT INTO employees VALUES (114, Den, Raphealy, DRAPH
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号