《XXXX年初级认证培训——SQL基本开发(共96张).pptx》由会员分享,可在线阅读,更多相关《XXXX年初级认证培训——SQL基本开发(共96张).pptx(96页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2010 UFIDA Government Affairs Software用友政务A+咨询实施部张海2010年5月10日A+A+认证培训认证培训SQLSQL开发、财务数据字典及输出报表定制开发、财务数据字典及输出报表定制2010 UFIDA Government Affairs Software目录目录p培训前言培训前言p数据库及数据库及SQLSQL概述概述p常用常用SQLSQL语法及函数详细介绍语法及函数详细介绍p输出报表定制流程输出报表定制流程2010 UFIDA Government Affairs Software培训前言培训前言p培训对象p培训目标2010 UFIDA Govern
2、ment Affairs Software一、培训前言一、培训前言培训对象培训对象2010 UFIDA Government Affairs Software一、培训前言一、培训前言培训目标培训目标2010 UFIDA Government Affairs Software目录目录p培训前言培训前言p数据库及数据库及SQLSQL概述概述p常用常用SQLSQL语法及函数详细介绍语法及函数详细介绍p输出报表定制流程输出报表定制流程2010 UFIDA Government Affairs Software数据库及数据库及SQLSQL概述概述p数据库发展p常用数据库pOracle产生与发展pSQL语
3、言介绍pSQL语言组成及功能pSQL开发工具介绍2010 UFIDA Government Affairs Software。二、数据库及二、数据库及SQLSQL概述概述2010 UFIDA Government Affairs Software 二、数据库及二、数据库及SQLSQL概述概述2010 UFIDA Government Affairs Software 二、数据库及二、数据库及SQLSQL概述概述2010 UFIDA Government Affairs Software二、数据库及二、数据库及SQLSQL概述概述2010 UFIDA Government Affairs Sof
4、tware二、数据库及二、数据库及SQLSQL概述概述2010 UFIDA Government Affairs Software目录目录p培训前言培训前言p数据库及数据库及SQLSQL概述概述p常用常用SQLSQL语法及函数详细介绍语法及函数详细介绍p输出报表定制流程输出报表定制流程2010 UFIDA Government Affairs Software常用常用SQLSQL语法及函数详细介绍语法及函数详细介绍pDDL语句及操作pDML语句及操作p查询语句p单表查询单表查询p子查询子查询p集合集合p连接查询连接查询pDCL语句及操作p函数介绍2010 UFIDA Government Af
5、fairs SoftwarepCREATE TABLE/DROP TABLE/ALTER TABLEp语法:CREATE TABLE table_name( column_name type CONSTRAINT constraint_defDEFAULT default_exp,);DESCRIBE table_name;DROP TABLE table_name;三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍DDLDDL2010 UFIDA Government Affairs SoftwarepCREATE TABLE/DROP TABLE/ALTER TABLEp语法: AL
6、TER TABLE table_name ADD ; ALTER TABLE table_name DROP ; ALTER TABLE table_name MODIFY ;三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍DDLDDL2010 UFIDA Government Affairs SoftwarepCREATE VIEW/DROP VIEWp语法:CREATE OR REPLACE VIEW view_name AS subqueryWITH READ ONLY;DROP VIEW view_name;三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍DDLDDL2
7、010 UFIDA Government Affairs SoftwareSELECT*|DISTINCT column|expression alias,.FROMtable;pSELECT 表示选择哪些列pFROM 表示从哪些表中查询p指定列、全部列、去重(DISTINCT)、改变输出(AS)p连接符(|)p算数表达式三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍DQLDQL2010 UFIDA Government Affairs Software三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍DQLDQLSELECT fiscal,coa_code,coa_nameF
8、ROM ma_coa;-科目体系科目体系指定列SELECT *FROM ma_coa;全部列2010 UFIDA Government Affairs Software三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍DQLDQLSELECT t.fiscal AS 年度年度, t.coa_code AS 科目体系代码科目体系代码, t.coa_name 科目体系名称科目体系名称FROM ma_coa t;改变输出SELECT fiscal 年度年度,coa_code|_|coa_name AS 科目体系科目体系FROM ma_coa;连接符2010 UFIDA Government A
9、ffairs Software三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍DQLDQLSELECT t.co_code,t.nd,t.co_nameFROM ma_company t -单位信息表单位信息表ORDER BY 1;去重SELECT DISTINCT(t.co_code),t.co_nameFROM ma_company tORDER BY 1;2010 UFIDA Government Affairs Software三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍DQLDQLSELECT f.co_code, f.card_id, f.fa_name, f.
10、fa_item_n09+f.fa_item_n10+f.fa_item_n11 +f.fa_item_n12+f.fa_item_n14 AS 使用方向使用方向_面积合计面积合计FROM fa_card f -资产卡片资产卡片算数表达式2010 UFIDA Government Affairs Software三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍单表查询单表查询p空值是一个不可用的空值是一个不可用的, ,没有被分配的没有被分配的, , 或者不能得到的值或者不能得到的值. .p空值不同于零或者空格空值不同于零或者空格. .p空值的产生:非主键、未定义空值的产生:非主键、未定义
11、not nullnot null都有可能产生空值都有可能产生空值 SELECT *FROM as_user; -用户表用户表定义空值定义空值 NullNull2010 UFIDA Government Affairs Software三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍单表查询单表查询在算术表达式中,与空值运算的结果为空。在算术表达式中,与空值运算的结果为空。空值也会带来一些算法的改变,会使快速索引访问失效。空值也会带来一些算法的改变,会使快速索引访问失效。 SELECT f.co_code, f.card_id, f.fa_name, fa_item_n09, fa_it
12、em_n10, fa_item_n11, fa_item_n12, f.fa_item_n14, f.fa_item_n09+f.fa_item_n10+f.fa_item_n11+f.fa_item_n12 +f.fa_item_n14 AS 使用方向使用方向_面积合计面积合计FROM fa_card f2010 UFIDA Government Affairs Software三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍单表查询单表查询NVL()NVL():如果为空,则赋予一个值:如果为空,则赋予一个值空值处理空值处理 SELECT f.co_code, f.card_id,
13、f.fa_name, fa_item_n09, fa_item_n10, NVL(fa_item_n11,0), fa_item_n12, f.fa_item_n14, f.fa_item_n09+f.fa_item_n10+NVL(f.fa_item_n11,0)+f.fa_item_n12 +f.fa_item_n14 AS 使用方向使用方向_面积合计面积合计FROM fa_card f2010 UFIDA Government Affairs Software三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍单表查询单表查询NVL2()NVL2()空值处理空值处理 SELECT D
14、ISTINCT(user_id) user_id, user_name user_name, NVL2(pk_desc,oper_time|_修改过凭证修改过凭证,未新增或修改凭证未新增或修改凭证) is_modvouFROM as_log; -日志查询日志查询2010 UFIDA Government Affairs Software三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍单表查询单表查询在查询中限制查询得到的结果在查询中限制查询得到的结果通过通过WHEREWHERE子句限制查到的结果子句限制查到的结果. .WHERE WHERE 子句紧跟着子句紧跟着FROMFROM子句子句
15、. .使用比较符(使用比较符(= =、 、= 、=、)NOTNOT、ANDAND、OROR(优先级从高到低)(优先级从高到低)SELECT*|DISTINCT column|expression alias,.FROMtableWHEREcondition(s);2010 UFIDA Government Affairs Software三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍单表查询单表查询字符串和日期数据字符串和日期数据字符串和日期数据应该使用单引号扩起来字符串和日期数据应该使用单引号扩起来. .字符数据大小写敏感字符数据大小写敏感, , 日期数据格式敏感日期数据格式敏感.
16、 .SELECT *FROM ma_coa_accWHERE coa_code=001;-系统级科目表系统级科目表SELECT *FROM ma_coa_accWHERE acc_code 201;SELECT *FROM ma_coa_accWHERE acc_code 150000 ORDER BY 4 DESC;-预算数大于预算数大于150000的方案的方案2010 UFIDA Government Affairs Software子查询子查询子查询(内部查询)在主查询执行前执行子查询(内部查询)在主查询执行前执行. .子查询的结果被主查询(外部查询)使用子查询的结果被主查询(外部查询)
17、使用. .SELECT select_listFROMtableWHEREexpr operator (SELECT select_list FROM table);三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍子查询子查询2010 UFIDA Government Affairs SoftwareSELECT m.co_code, m.co_nameFROM ma_company m WHERE m.co_code IN ( SELECT co_code FROM gl_vou_head );-查询录过凭证的单位查询录过凭证的单位三、常用三、常用SQLSQL语法及函数介绍语法及函数
18、介绍子查询子查询子查询子查询2010 UFIDA Government Affairs SoftwareSELECT co_code,fiscal,item_code,SUM(stad_amt)FROM gl_vou_detail_assWHERE co_code=315002 AND item_code = ( SELECT item_code FROM gl_item WHERE co_code=315002 AND item_name=隧道照明用电经费隧道照明用电经费 ) AND fiscal=2010 AND acc_code LIKE 50402% AND dr_cr=1 GROUP
19、 BY co_code,fiscal,item_code;三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍子查询子查询子查询子查询p查询某一个项目的支出合计查询某一个项目的支出合计2010 UFIDA Government Affairs Software只返回一行只返回一行使用单行比较操作符使用单行比较操作符Operator= = =MeaningEqual toGreater than Greater than or equal to Less than Less than or equal toNot equal to三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍子查询
20、子查询2010 UFIDA Government Affairs SoftwareSELECT bg_project_code, bg_project_nameFROM bg_projectWHERE bg_project_code = (SELECT bg_project_code FROM bg_project_detail);下面的语句错在哪里下面的语句错在哪里?ERROR at line 4:ORA-01427: single-row subquery returns more thanone row对多行子查询使用了单行比较操作符对多行子查询使用了单行比较操作符. .三、常用三、常用
21、SQLSQL语法及函数介绍语法及函数介绍子查询子查询2010 UFIDA Government Affairs Software返回多于一行返回多于一行使用多行比较操作符使用多行比较操作符操作符操作符 IN 含义含义等于列表中的任何值等于列表中的任何值三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍子查询子查询2010 UFIDA Government Affairs Software多列子查询多列子查询Main queryWHERE (MANAGER_ID, DEPARTMENT_ID) INSubquery100 90102 60124 50三、常用三、常用SQLSQL语法及函数介
22、绍语法及函数介绍子查询子查询2010 UFIDA Government Affairs Software列的比较列的比较与多列子查询的比较可以是与多列子查询的比较可以是: : 成对比较成对比较 - - Pairwise comparisonsPairwise comparisons 非成对比较非成对比较 - - Nonpairwise comparisonsNonpairwise comparisons 三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍子查询子查询2010 UFIDA Government Affairs Software成对比较子查询成对比较子查询显示所有与显示所有与
23、1 14141和和174174相同部门、相同经理的雇员的信息(相同部门、相同经理的雇员的信息(不包括不包括1 14141和和174174雇员)雇员). .SELECT employee_id, manager_id, department_idFROMemployeesWHERE (manager_id, department_id) IN (SELECT manager_id, department_id FROM employees WHERE employee_id IN (141,174)ANDemployee_id NOT IN (141,174);三、常用三、常用SQLSQL语法及
24、函数介绍语法及函数介绍子查询子查询2010 UFIDA Government Affairs Software非成对比较子查询非成对比较子查询SELECT employee_id, manager_id, department_idFROM employeesWHERE manager_id IN (SELECT manager_id FROM employees WHERE employee_id IN (174,141)AND department_id IN (SELECT department_id FROM employees WHERE employee_id IN (174,14
25、1)ANDemployee_id NOT IN(174,141);显示所有与显示所有与1 14141和和174174相同部门或者相同经理的雇员的信息(相同部门或者相同经理的雇员的信息(不包括不包括1 14141和和174174雇员)雇员). .三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍子查询子查询2010 UFIDA Government Affairs Software相关子查询相关子查询相关子查询被用于查询执行时的一行一行处理相关子查询被用于查询执行时的一行一行处理. .每个相关子每个相关子查询对于外部查询的每行执行一次查询对于外部查询的每行执行一次. .GETcandida
26、te row from outer queryEXECUTEinner query using candidate row valueUSEvalues from inner query to qualify or disqualify candidate row三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍子查询子查询2010 UFIDA Government Affairs Software相关子查询相关子查询 SELECT column1, column2, . FROM table1 WHERE column1 operator (SELECT colum1 FROM tab
27、le2 WHERE expr1 = .expr2);outerouter三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍子查询子查询2010 UFIDA Government Affairs SoftwareSELECT DISTINCT(t.emp_code), t.co_code, t.year, t.mo, t.pr_paylist_n57 -假如为工资合计假如为工资合计FROM PR_PAYLIST t WHERE t.pr_paylist_n57使用相关子查询使用相关子查询每次外部查询得到每次外部查询得到一行一行,内部查询就执内部查询就执行一次计算行一次计算.找到所有人员的工
28、资大于所在单位平均工资的人员信息找到所有人员的工资大于所在单位平均工资的人员信息. ( SELECT AVG(t1.pr_paylist_n57) FROM PR_PAYLIST t1 WHERE t.co_code=t1.co_code AND t.year=t1.year AND t.mo=t1.mo GROUP BY t1.co_code,t1.year,t1.mo HAVING AVG(t1.pr_paylist_n57)0 )三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍子查询子查询2010 UFIDA Government Affairs SoftwareSELECT a
29、.co_code, a.fiscal, a.bg_project_code, a.bg_project_name, b.ys 预算数预算数FROM bg_project a,( SELECT co_code, fiscal, bg_project_code, SUM(bg_amt) ys FROM bg_project_detail GROUP BY co_code, fiscal, bg_project_code) bWHERE a.co_code=b.co_code AND a.fiscal=b.fiscal AND a.bg_project_code=b.bg_project_code在
30、在 FROM 子句中使用子查询子句中使用子查询三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍子查询子查询2010 UFIDA Government Affairs Software使用使用 EXISTS 操作符操作符EXISTS EXISTS 操作符测试子查询的结果是否存在操作符测试子查询的结果是否存在. .如果一个子查询找到了结果如果一个子查询找到了结果: :在内部子查询中不在继续执行条件被设为 TRUE如果一个子查询没有找到结果如果一个子查询没有找到结果: :条件被设为 FALSE在内部子查询中继续执行查找三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍子查询子查询201
31、0 UFIDA Government Affairs SoftwareSELECT *FROM ma_coa_acc aWHERE is_lowest=Y AND EXISTS(SELECT 1 FROM ma_coa_acc b WHERE a.acc_code=b.par_acc_code);使用使用 EXISTS 操作符操作符p查询科目查询科目是否末级设置是否正确是否末级设置是否正确三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍子查询子查询2010 UFIDA Government Affairs SoftwareSELECT *FROM ma_coa_acc aWHERE i
32、s_lowest=N AND NOT EXISTS(SELECT 1 FROM ma_coa_acc b WHERE a.acc_code=b.par_acc_code);使用使用 NOT EXISTS 操作符操作符p查询科目查询科目是否末级设置是否正确是否末级设置是否正确三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍子查询子查询2010 UFIDA Government Affairs SoftwareUPDATE中的相关子查询中的相关子查询使用相关子查询可以基于另一个表来更新表中的每个符使用相关子查询可以基于另一个表来更新表中的每个符合条件的合条件的. .UPDATE table
33、1 alias1SET column = (SELECT expression FROM table2 alias2 WHERE alias1.column = alias2.column);三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍子查询子查询2010 UFIDA Government Affairs SoftwareUPDATE中的相关子查询中的相关子查询p修改存在下级科目的科目属性“是否末级”为“否”UPDATE ma_coa_acc aSET a.is_lowest=NWHERE EXISTS (SELECT 1 FROM ma_coa_acc b WHERE a.acc
34、_code=b.par_acc_code);三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍子查询子查询2010 UFIDA Government Affairs SoftwareUPDATE中的相关子查询中的相关子查询p修改存在下级科目的科目属性“是否末级”为“否”UPDATE ma_coa_acc aSET a.is_lowest=YWHERE NOT EXISTS (SELECT 1 FROM ma_coa_acc b WHERE a.acc_code=b.par_acc_code);三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍子查询子查询2010 UFIDA Gov
35、ernment Affairs SoftwareABUNION/UNION ALLABABINTERSECTABMINUS三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍集合集合2010 UFIDA Government Affairs SoftwareAB三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍集合集合2010 UFIDA Government Affairs SoftwareAB三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍集合集合2010 UFIDA Government Affairs SoftwareINTERSECT 操作符操作符AB三、常用三、常
36、用SQLSQL语法及函数介绍语法及函数介绍集合集合2010 UFIDA Government Affairs SoftwareMINUS 操作符操作符AB三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍集合集合2010 UFIDA Government Affairs Software集合操作符的提示集合操作符的提示在在SELECT SELECT 列表中的表达是必须有同样的数目和类型列表中的表达是必须有同样的数目和类型. .括号可以用来修改集合操作的执行顺序括号可以用来修改集合操作的执行顺序. .在结果中显示第一个在结果中显示第一个SelectSelect语句中的列名语句中的列名. .
37、ORDER BY ORDER BY 子句子句: :只能在整个集合的最后出现可以按照第一个SELECT语句中的列名, 别名或者位置号排序.除了除了 UNION ALLUNION ALL操作外操作外, ,其他的集合操作都自动去掉其他的集合操作都自动去掉重复值重复值. .除了除了UNION ALLUNION ALL操作外,其他集合操作的输出结果默操作外,其他集合操作的输出结果默认按照升序的次序排列认按照升序的次序排列. . 三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍集合集合2010 UFIDA Government Affairs SoftwareUNIONSELECT 集合集合a 集
38、合名称集合名称,ROWNUM 序号序号,trunc(dbms_random.VALUE(0,100) 分数分数 FROM dual CONNECT BY ROWNUM = 3UNION SELECT 集合集合b 集合名称集合名称,ROWNUM 序号序号,trunc(dbms_random.VALUE(0,100) 分数分数 FROM dual CONNECT BY ROWNUM = 2三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍集合集合2010 UFIDA Government Affairs SoftwareUNION ALLWITH a AS( SELECT 张三张三 name
39、,男男 sex FROM dual UNION ALL SELECT 张三张三 name,男男 sex FROM dual UNION ALL SELECT 李四李四 name,男男 sex FROM dual)SELECT * FROM a;三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍集合集合2010 UFIDA Government Affairs SoftwareINTERSECTWITH a AS( SELECT 张三张三 name,男男 sex FROM dual INTERSECT (SELECT 张三张三 name,男男 sex FROM dual UNION ALL
40、 SELECT 李四李四 name,男男 sex FROM dual)SELECT * FROM a;三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍集合集合2010 UFIDA Government Affairs Software连接查询的类型连接查询的类型内连接内连接外连接(左外连接、右外连接、全外连接)外连接(左外连接、右外连接、全外连接)交叉连接交叉连接自连接自连接 三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍连接查询连接查询2010 UFIDA Government Affairs Software内连接内连接相等连接相等连接不等连接不等连接三、常用三、常用SQ
41、LSQL语法及函数介绍语法及函数介绍连接查询连接查询SELECT FROM table_name1,table_name2WHERE condition(s);2010 UFIDA Government Affairs Software三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍连接查询连接查询SELECT t1.nd,t1.co_code,t2.co_name,t1.account_id,t1.account_nameFROM ma_co_acc t1,ma_company t2WHERE t1.nd=t2.nd AND t1.co_code=t2.co_code; -单位及帐套
42、信息单位及帐套信息内连接内连接2010 UFIDA Government Affairs Software外连接外连接左外连接左外连接: :左外连接返回那些存在于左表而右表中却左外连接返回那些存在于左表而右表中却没有的行,再加上内连接的行没有的行,再加上内连接的行右外连接右外连接: :右外连接返回那些存在于右表而左表中却右外连接返回那些存在于右表而左表中却没有的行,再加上内连接的行没有的行,再加上内连接的行全外连接:全外连接:两边表中的内容全部显示两边表中的内容全部显示 注意连接条件的对应关系,比如注意连接条件的对应关系,比如1对多关系的影响对多关系的影响三、常用三、常用SQLSQL语法及函数
43、介绍语法及函数介绍连接查询连接查询SELECT FROM table_name1 LEFT|RIGHT|FULL JOIN table_name2 ON condition(s);2010 UFIDA Government Affairs Software三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍连接查询连接查询SELECT a.co_code, a.nd, a.co_name, b.account_id, b.account_nameFROM ma_company a LEFT JOIN ma_co_acc b ON a.nd=b.nd AND a.co_code=b.co_c
44、ode ORDER BY 1;-左连接,查询各单位建账情况左连接,查询各单位建账情况2010 UFIDA Government Affairs Software三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍连接查询连接查询SELECT a.co_code, a.nd, a.co_name, b.account_id, b.account_nameFROM ma_company a , ma_co_acc b WHERE a.nd=b.nd (+) AND a.co_code=b.co_code (+) ORDER BY 1;-换种写法换种写法2010 UFIDA Government
45、 Affairs Software三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍连接查询连接查询SELECT a.co_code, a.nd, a.co_name, b.account_id, b.account_nameFROM ma_company a RIGHT JOIN ma_co_acc b ON a.nd=b.nd AND a.co_code=b.co_code ORDER BY 1;-右连接,查询建了帐套的单位右连接,查询建了帐套的单位2010 UFIDA Government Affairs Software交叉连接交叉连接笛卡尔积笛卡尔积三、常用三、常用SQLSQL
46、语法及函数介绍语法及函数介绍连接查询连接查询SELECT FROM table_name1,table_name22010 UFIDA Government Affairs Software自连接自连接三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍连接查询连接查询SELECT FROM table_name table_name1, table_name table_name2WHERE condition(s)如果在同一时间需要同一个表中不同行中的信息需要如果在同一时间需要同一个表中不同行中的信息需要用到自连接用到自连接2010 UFIDA Government Affairs S
47、oftware自连接自连接三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍连接查询连接查询SELECT t1.co_code 单位代码单位代码, t1.co_name 单位名称单位名称, t1.nd 年度年度, t1.parent_co_code 上级单位代码上级单位代码, t2.co_name 上级单位名称上级单位名称FROM ma_company t1 , ma_company t2WHERE t1.nd=t2.nd (+) AND t1.parent_co_code=t2.co_code (+) ORDER BY 1;-查询单位及上级单位名称查询单位及上级单位名称2010 UFI
48、DA Government Affairs Software事务处理事务处理三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍DCLDCLCOMMITROLLBACK2010 UFIDA Government Affairs Software三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍函数函数ABS(x)ABS(x)ROUND(X,Y)ROUND(X,Y)INSTR(X,Y)INSTR(X,Y)LENGTH(X)LENGTH(X)LOWER(X)LOWER(X)UPPER(X)UPPER(X)LPAD(S,X,Y)LPAD(S,X,Y)TRIMTRIMNVLNVLNVL2NV
49、L2REPLACE(X,Y,Z)REPLACE(X,Y,Z)SUBSTR(X,N,M)SUBSTR(X,N,M)SYSDATESYSDATETO_CHARTO_CHARTO_DATETO_DATE2010 UFIDA Government Affairs Software三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍视图视图CREATE OR REPLACE VIEW view_nameAS subqueryWITH READ ONLY2010 UFIDA Government Affairs Software三、常用三、常用SQLSQL语法及函数介绍语法及函数介绍书写规范书写规范目
50、标:清晰易读目标:清晰易读语句中出现的所有表名、字段名全部小写,系统保留语句中出现的所有表名、字段名全部小写,系统保留字、内置函数名、字、内置函数名、Sql保留字大写;保留字大写; 连接符连接符or、in、and、以及、以及、=等前后加上一个空格等前后加上一个空格 多用注释,尤其是对较为复杂的多用注释,尤其是对较为复杂的sql语句,说明算法语句,说明算法、功能、功能SQL语句的缩进风格:语句的缩进风格:1) 一行有多列,超过80个字符时,基于列对齐原则,采用下行缩进(2) where子句书写时,每个条件占一行,语句令起一行时,以保留字或者连接符开始,连接符右对齐。 多表连接时,使用表的别名来引