老师,您好 oracle sql 语句 替换mysql 语句
SELECT d1.domain_idTemporaryIId, d1.job_idTemporaryId,
d1.job_name job_name, d1.is_effectiveis_effective, d1.object_typeobject_type, d1.object_nameobject_name,
d1.object_ename object_ename, d1.object_location object_location, d1.time_field time_field, COUNT(d2.rule_id) columnNum from dq_conf_jobs d1,dq_conf_rule d2 where(d1.job_id = d2.job_id OR d1.job_id not in (SELECT job_id from dq_conf_rule))AND d2.is_effective = '1’ GROUP BY d1.job_id;
您好,首先需要这两个软件:PowerDesigner软件,oracle数据库。 1、将要导入的库的所有表的表结构(不要表数据,只要表结构)导出成一个.sql文件。 2、在PowerDesinger里找到 File -->> Reverse Engineer --->> Database
Oracle 里面 (+) 的处理, 迁移到 MySQL 里面, 是 LEFT JOIN
通用测试表
-- 学生表
CREATE TABLE student (
SNO INT,
SNAME VARCHAR(10),
ICNO INT
);
-- 食堂IC卡表
CREATE TABLE IC (
ICNO INT,
ICNAME VARCHAR(10),
ICMoney INT
);
INSERT INTO student VALUES(1, '张三', 1 );
INSERT INTO student VALUES(2, '李四', 2 );
INSERT INTO student VALUES(3, '王五', NULL);
INSERT INTO IC VALUES(1, '张三', 500 );
INSERT INTO IC VALUES(2, '李四', 250 );
INSERT INTO IC VALUES(3, '赵老师', 600);
Oracle 的
SELECT
student.SNO,
student.SNAME,
IC.ICNAME,
IC.ICMoney
FROM
student, IC
WHERE
student.ICNO = IC.ICNO(+);
SNO SNAME ICNAME ICMONEY
--------- -------------------- -------------------- ----------
1 张三 张三 500
2 李四 李四 250
3 王五
可以理解为, 有 (+) 的, 就是 可选的 (也就是可以为 NULL 的)。
修改为 MySQL
SELECT
student.SNO,
student.SNAME,
IC.ICNAME,
IC.ICMoney
FROM
student
LEFT JOIN IC
ON (student.ICNO = IC.ICNO);
+------+-------+--------+---------+
| SNO | SNAME | ICNAME | ICMoney |
+------+-------+--------+---------+
| 1 | 张三 | 张三 | 500 |
| 2 | 李四 | 李四 | 250 |
| 3 | 王五 | NULL | NULL |
+------+-------+--------+---------+
3 rows in set (0.00 sec)
1.先要理解左右连接的意思,以及(+)所在位置代表的是什么连接
比如(+)在等号左边就是右连接,
即需要A left join B on (A.xx = B.xx) 等同于 from A,B where A.xx (+)= B.xx;
2.拿你的一个例子说吧:
from HB_ADPOSITION a,HB_CATALOG c
where a.RELA_CATALOGID=c.CATALOG_ID(+)
可以转换为
from HB_ADPOSITION a left join HB_CATALOG c on(a.RELA_CATALOGID=c.CATALOG_ID)
侨瑞清开: 1·在oracle官网上下载oracle数据库,以Oracle Database 11g Release 2版本的oracle数据库为例,其他版本的安装也大同小异.注意,下载前得Accept License Agreement. 2·下载并解压文件,找到setup.exe,双击进行安装.与一般软件安...
洛龙区13865704132: oracle数据库sql命令怎么改 - ?
侨瑞清开: oracle中修改数据用update语句. 语法: UPDATE 表名 SET 字段='XXX' WHERE 条件; 如,数据库中,test表数据如下: 现在要将王五的名字改成王九,可用如下语句: update test set name='王九' where name='王五'; commit; 执行后结果:
洛龙区13865704132: 怎么将oracle的sql文件转换成mysql的sql文件 - ?
侨瑞清开: 您好,首先需要这两个软件:PowerDesigner软件,oracle数据库. 1、将要导入的库的所有表的表结构(不要表数据,只要表结构)导出成一个.sql文件. 2、在PowerDesinger里找到 File -->> Reverse Engineer --->> Database
洛龙区13865704132: oracle数据库安装后怎么使用 - ?
侨瑞清开: 你需要安装Oracle client然后通过SQL语句去访问,建议买一本入门的教材自学Oracle - 关系型数据库的知识是一通百通的,但是一定要会至少一个关系型数据库
洛龙区13865704132: oracle数据库中有哪些字符集,字符集之间的子集和超集关系是怎么样的? - ?
侨瑞清开: oracle数据库的字符集有很多的,具体的也不能一一详细地列举出来了,但是,建库的时候,会有选择字符集的界面,点开下拉条,将会列出oracle所支持的所有字符集(10/12). 超集与子集是包含和被包含的关系,超集兼容子集.
洛龙区13865704132: oracle数据库sql怎么查询第5到第8条数据? - ?
侨瑞清开: select * from (select * ,rownum row from table where rownum<=8) awhere a.row<=5
洛龙区13865704132: oracle 数据库 显示新建数据库连接失败 错误原因ora - 01017:用户名 口令无效 登陆被拒绝 - ?
侨瑞清开: 根据ORA-01017的提示是连接到另一方的用户密码错误,于是直接使用配置的用户密码(lsxy/lsxy)登录数据库发现正常登录,进一步的查看建立好后的dblink语句,其中用户名都转化为了大写,由此猜测密码是否也被转化为了大写从而导致密...
洛龙区13865704132: 怎样用sql语句查询oracle数据表的字段名及其数据类型 - ?
侨瑞清开: 楼主您好 all_tab_columns all_tab_cols 或者all换成user 分别是column_name和data_type字段
洛龙区13865704132: oracle数据库如何入门 - ?
侨瑞清开: 如果你的基础几乎为0的话,建议先学SQL语言,然后呢在Oracle入门理论方面有一个大概的了解,从哪找都可以,安装oracle,先利用数据库的几个基本表联系增删改查,连接等,在CUUG官网有免费教程的,然后就存储过程、游标、触发器...
洛龙区13865704132: oracle中 sql语句中的单行子查询中的<>是什么意思 - ?
侨瑞清开: 就是!= 意思是“非等于” deptno20意思是deptno!=20.