同时查询2张表数据有很多种方法(下面的a,b为表名,A,B为表的别名):
创新互联-专业网站定制、快速模板网站建设、高性价比锡林浩特网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式锡林浩特网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖锡林浩特地区。费用合理售后完善,十年实体公司更值得信赖。
1,select A.*,B.* from a A,b B;
这样查出来的是a的所有数据在前面几列,b的数据在后面几列。
2,select * from a cross join a
这样查出来的数据是2张表的笛卡尔积。
即a的数据量乘以b的数据量的积
3,如果两张表拥有相同的字段,你可以使用left join或者right join
select * from table1 left join table2 on table1.id=table2.id
在实际的工作中,数据库管理员(DBA)需要经常要定时对数据库的连接情况进行检查,查看与数据库建立的会话数目是不是正常,假如建立了过多的连接,会消耗许多数据库的资源。与此同时,针对一些“挂死”的连接,可能会需要DBA自行手工进行清理。
下面的SQL语句列出当前数据库建立的会话情况:
select sid,serial#,username,program,machine,status
from v$session;
输出的结果:
SID SERIAL# USERNAME PROGRAM MACHINE STATUS
---- ------- ---------- ----------- --------------- --------
1 1 ORACLE.EXE WORK3 ACTIVE
2 1 ORACLE.EXE WORK3 ACTIVE
3 1 ORACLE.EXE WORK3 ACTIVE
4 1 ORACLE.EXE WORK3 ACTIVE
5 3 ORACLE.EXE WORK3 ACTIVE
6 1 ORACLE.EXE WORK3 ACTIVE
7 1 ORACLE.EXE WORK3 ACTIVE
8 27 SYS SQLPLUS.EXE WORKGROUP\WORK3 ACTIVE
11 5 DBSNMP dbsnmp.exe WORKGROUP\WORK3 INACTIVE
其中SID 会话(session)的ID号;
SERIAL# 会话的序列号,和SID一起用来唯一标识一个会话;
USERNAME 建立该会话的用户名;
STATUS 当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何操作;
假如要手工断开某个会话,则执行:
alter system kill session 'SID,SERIAL#';注意:在上面的示例中,SID为1到7(USERNAME列为空)的会话,它是Oracle数据库的后台进程,请大家不要对这些会话进行任何操作。
数据库实例名称为orcl的话,
方法一:
windows系统可以查看windows服务,如OracleServiceORCL
方法二:
查看安装目录下相应目录名称,如:D:\app\oracle\admin\orcl
方法三:
使用oracle net manager工具查看。