当前位置:文档之家› 基于TIPTOP系统的SQL基础教程

基于TIPTOP系统的SQL基础教程

11.
12.指定别名 例,SELECT sfa01 工单号,sfa03 料号 FROM sfa_file PL/SQL中的指定别名和别的数据库有所不同 直接跟在字段后就可以了, 13. FOR UPDATE 可视化手动修改数据 例:SELECT sfa01,sfa03 FROM sfa_file WHERE sfa01=‘511-140506001’ FOR UPDATE
7.HAVING函数 在 SQL 中增加 HAVING 子句原因是, WHERE 关键字无法与合计函数一起使用
例:SELECT OEB04,OEA032,OEA03,SUM(OEB12) 订单合计数量 FROM OEB_FILE • LEFT JOIN OEA_FILE ON OEB01=OEA01 • WHERE OEA03='CN0001' OR OEA03='CN0002' OR OEA03='CN0003' • GROUP BY OEA03,OEA032,OEB04 • HAVING SUM(OEB12)>15000
6.GROUP BY 语句用于结合合计函数,根据 一个或多个列对结果集进行分组
• 例: SELECT oeb,oea032,oea03,SUM (oeb12) 订单合计数量 FROM oeb_file LEFT JOIN oea_file ON oeb01=oea01 WHERE oea03='CN0001' GROUP BY oea03,oea032,oeb04
• • • • • • • • • • • • • • •
综合举例:查询1月1号至6月13号订单数量大于20000数据 SELECT OEB01,OEA03,OEA032,OEA14,GEN02,OEB04,IMA02,SUM(OEB12) FROM OEA_FILE LEFT JOIN OEB_FILE ON OEA01=OEB01 LEFT JOIN IMA_FILE ON IMA01=OEB04 LEFT JOIN GEN_FILE ON GEN01=OEA14 WHERE OEA02 BETWEEN TO_DATE ('2014-01-01','YYYY/MM/DD') AND TO_DATE('2014-06-13','YYYY/MM/DD') GROUP BY OEB01,OEA03,OEA032,OEA14,GEN02,OEB04,IMA02 HAVING SUM(OEB12)>20000 综合举例:查询出三星电机订单大于平均数的订单 SELECT OEA03,OEA032,IMA01,IMA02,OEB12 FROM OEA_FILE LEFT JOIN OEB_FILE ON OEB01=OEA01 LEFT JOIN IMA_FILE ON OEB04=IMA01 WHERE OEA03='CN0099' OR OEA32= 'GJ0001' GROUP BY OEA03,OEA032,IMA01,IMA02,OEB12 HAVING AVG(OEB12)>15000
6.INSERT INTO语句用于向表格中插入新的行。 例: INSERT INTO sfa_file (列1, 列2,...) VALUES (值1, 值2,....) 7.UPDATE 语句用于修改表中的数据 例:UPDATE sfa_file SET sfa28=1 WHERE sfa28=0 8. DELETE 语句用于删除表中的行。 DELETE FROM ina_file WHERE ina01='114130417002'
注意细节, 1,语句书写的习惯,命令应为大写,字段名 为小写, 2,更新或删除时前再检查一次语句,所登录 的帐套是否正确,如果只是执行了 ,并 未提交,发现有问题,可以按图中的按钮 进行回滚, 也可以用COMMIT WORK命令
3.在日常工作中锁定了TABLE表,要即时的 解锁,否则前端ERP系统出现无法写入到表 中,程序异常退出的情况!
一.连接软件 1. Oracle Enterprise Manager OEM提供了图形化的界面来管理数据库
2 . Sqlplus Sqlplus是一个最常用的工具,具有很强的功能, 主要有: 1. 数据库的维护,如启动,关闭等,这一般在服 务器上操作。 2. 执行sql语句执行pl/sql。 3. 执行sql脚本。 4. 数据的导出,报表。 5. 应用程序开发、测试sql/plsql
9. LIKE 操作符用于在 WHERE 子句中搜索 列中的指定模式 例:SELECT sfa01 FROM sfa_file WHERE sfa01 LIKE ‘511-1406%’
10.IN 操作符允许我们在 WHERE 子句中规 定多个值 例:SELECT sfa01,sfa03 FROM sfa_file WHERE sfa01 IN ('511140601001','511-140601002')
BETWEEN操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些 值可以是数值、文本或者日期 例: SELECT sfa01,sfa03 FROM sfa_file WHERE sfa01 BETWEEN '511140105001' AND '511-140605099'
3WHERE子句用于规定选择的标准 例:SELECT sfa01 FROM sfa_file WHERE sfa01=‘511-140105001’
4.OR AND运算符用于基于一个以上的条件对记录 进行过滤 例:SELECT * FROM sfa_file WHERE sfa01=‘511-140105001’ OR sfa03=‘12301050001’ AND 和 OR 可在 WHERE 子语句中把两个或多个 条件结合起来 5.ORDER BY用于根据指定的列对结果集进行排序 例:SELECT * FROM sfa_file WHERE sfa01=‘511140105001’ ORDER BY sfa01
• 谢谢!
基于TIPTOP系统 SQL基础教程
前言: 由于SQL是当今应用最广泛的关系数据库语言之 一,是一门非常重要的语言,对开发人员,MIS人 员,程序人员,都是一门必修课程,对于SQL语法 深奥,以下是基于ORACLE数据库的TIPTOP系统中 的SQL语句初步入门知识,希望大家也能从中有不 一样的见解
3. MAX 函数返回一列中的最大值 例.SELECT MAX(SFB08) FROM SFB_FILE
4. MIN 函数返回一列中的最小值 SELECT MIN (SFB08) FROM SFB_FILE
5. SUM 函数返回数值列的总数 例:SELECT SUM (SFB08)据两个或多个表中的列 之间的关系,从这些表中查询数据 例:SELECT sfa01,sfb01,sfb08 FROM Sfa_file LEFT JOIN sfb_file ON sfa01=sfb01 WHERE sfa01=‘511140506001’
二.函数 1. AVG() 函数返回数值列的平均值。NULL 值不包括在计算中 例:SELECT AVG (sfb08)FROM sfb_file 2. count ()函数返回行记录数 select count (*) from sfb_file
3 . PL/SQL Developer PL/SQL编译器,具有语法加强、SQL和PL/SQL 帮助、对象描述、代码助手、编译器提示、 PL/SQL完善,SQL 窗口,命令窗口,报告,工程 等等功能,总体来说PL/SQL Developer 是最为强 大的第三方软件之一,也是我主要的使用工具
二.基础操作 1. SELECT 查询功能 例:SELECT sfa01 FROM sfa_file SELECT * FROM sfa_file 查询所有的 2DISTINCT返回唯一不同的值 例:SELECT DISTINCT sfa03 FROM sfa_file
三. PL/SQL Developer
1.批量导入数据 在实际生产环境中,可能会有一些整理出来的数据,如库存,料号,采 购核价等,需要批量导入到系统 中,此时可以用到ODBC导入器,
2.批量导出数据为xls PL/SQL Developer的导出数据非常方便,如图
2. PL/SQL Developer 新版9.0以后 有一个要注意的地方,在使用过程中,如果 按图标切换了数据库,但是命令窗口并切 换到相应的帐套,此时大家就一定要注意 了,如果只是查询,没有关系,只是得出 的结果不正确,如果是删除或更新,那后 果是非常严重的!(7.0无此问题) 但是7.0导出的数据的时候只能支持xls 不能支持xlsx
相关主题