drop table table1 purge;
创新互联建站专注于芒市企业网站建设,响应式网站建设,商城建设。芒市网站建设公司,为芒市等地区提供建站服务。全流程按需制作网站,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务
create table table1 (name varchar2(10), obj varchar2(10), Price number);
insert into table1 values('张三','苹果',10);
insert into table1 values('张三','香蕉',5);
insert into table1 values('李四','苹果',13);
insert into table1 values('李四','香蕉',17);
insert into table1 values('王二','苹果',6);
insert into table1 values('王二','香蕉',9);
select * from table1;
SELECT OBJ,
SUM(DECODE(NAME, '张三', PRICE, NULL)) 张三,
SUM(DECODE(NAME, '李四', PRICE, NULL)) 李四,
SUM(DECODE(NAME, '王二', PRICE, NULL)) 王二
FROM TABLE1
GROUP BY OBJ;
1、首先在电脑中打开PLSQL Developer的界面中,点击菜单中的工具菜单。
2、然后在打开的工具下拉菜单中,点击首选项,如下图所示。
3、接着在打开的窗口中,点击左侧中的 选项,如下图所示。
4、然后在打开的选项页面中,点击 HTML帮助窗口固顶选项,如下图所示。
5、最后点击 HTML帮助窗口固顶选项之后,点击确定,就设置完成了。
只要是两张以上的表关联查询的时候,就会返回一个笛卡尔乘积,数据库会去掉那些冗余的数据,只返回有用的数据.我们用左连接和右连接查询的时候就会把那些冗余的数据也查询出来,还有双向连接也是.
Oracle数据库的左连接和右连接
在Oracle PL-SQL中,左连接和右连接以如下方式来实现
查看如下语句:
SELECT emp_name,dept_name FORM Employee,Department WHERE Employee.emp_deptid(+) = Department.deptid
此SQL文使用了右连接,即“(+)”所在位置的另一侧为连接的方向,右连接说明等号右侧的所有记录均会被显示,无论其在左侧是否得到匹配,也就是说上例中无论会不会出现某个部门没有一个员工的情况,这个部门的名字都会在查询结果中出现.
反之:SELECT emp_name,dept_name FORM Employee,Department WHERE Employee.emp_deptid = Department.deptid(+)
则是左连接,无论这个员工有没有一个能在Department表中得到匹配的部门号,这个员工的记录都会被显示
一般的相等连接
select * from a,b where a.id = b.id;
这个是内连接
工具/材料:以win7系统为例。
1、首先选中“计算机”,右键点击“属性”图标。
2、然后在该界面中,点击右侧“更改设置”按钮。
3、之后在弹出的窗口中,点击“高级”分页卡里的“环境变量”按钮。
4、接着在弹出的窗口中,点击“新建”按钮。
5、之后在弹出的窗口中,输入变量名“ORACLE_HOME”,变量值“E:\Oracle\product\11.2.0\dbhome_1”,点击“确定”按钮。
6、再者点击“新建”按钮,在弹出的窗口中,输入变量名“TNS_ADMIN”,变量值“E:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN”,点击“确定”按钮。
7、其次点击“新建”按钮,在弹出的窗口中,输入变量名“NLS_LANG”,变量值“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,点击“确定”按钮。
8、最后在弹出的窗口中,点击“确定”按钮。