oracle连接分为:
创新互联专注于企业成都营销网站建设、网站重做改版、敦煌网站定制设计、自适应品牌网站建设、HTML5建站、商城网站开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为敦煌等各大城市提供网站开发制作服务。
左外连接:左表不加限制,保留左表的数据,匹配右表,右表没有匹配到的行中的列显示为null。
右外连接:右表不加限制,保留右表的数据。匹配左表,左表没有匹配到的行中列显示为null。
完全外连接:左右表都不加限制。即右外连接的结果为:左右表匹配的数据+左表没有匹配到的数据+右表没有匹配到的数据。
left/right/full outer join ...on
left/right/full join ...on
(+)号的作用:+号可以理解为补充的意思,加在那个表的列上就代表这个表的列为补充。加在右表的列上代表右表为补充,为左连接。加在左表的列上代表左表为补充,为右连接。注意:完全外连接中不能使用+号。
查看插入的数据:
执行结果
执行结果
执行结果
执行结果
执行结果
执行结果
执行结果
执行结果
执行结果
执行结果
执行结果
执行结果
Oracle中,两个表通过多个关连条件外连接的时候,如果多个条件中有没有写(+)的条件,则连接会自动变成内连接,而不再是外连接。这种情况应该是属于写SQL的失误。遇到这种情况的时候一定要注意。
需要知道数据库主机的IP地址,数据库端口号,服务名称,数据库账户及密码才可以连接。
1、首先在本地oracle的安装目录下找到找到tnsnames.ora文件。一般路径为:~\oracle\product\10.2.0\db_1\network\ADMIN
2、用文本方式打开此路径下的tnsnames.ora文件,并添加以下内容:
本地实例名(可自定义应为+数字) =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = IP地址)(PORT = 数据库端口号))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 数据库服务名)
)
)
3、保存上述内容,然后打开第三方工具,如plsql。就会在数据库的下拉列表中找到刚添加的数据库实例。
4、用正确的账户名及密码登录,就可以连接成功。
public void testOracle()
{
Connection con = null;// 创建一个数据库连接
PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement
ResultSet result = null;// 创建一个结果集对象
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序
System.out.println("开始尝试连接数据库!");
String url = "jdbc:oracle:" + "thin:@127.0.0.1:1521:XE";// 127.0.0.1是本机地址,XE是精简版Oracle的默认数据库名
String user = "system";// 用户名,系统默认的账户名
String password = "147";// 你安装时选设置的密码
con = DriverManager.getConnection(url, user, password);// 获取连接
System.out.println("连接成功!");
String sql = "select * from student where name=?";// 预编译语句,“?”代表参数
pre = con.prepareStatement(sql);// 实例化预编译语句
pre.setString(1, "刘显安");// 设置参数,前面的1表示参数的索引,而不是表中列名的索引
result = pre.executeQuery();// 执行查询,注意括号中不需要再加参数
while (result.next())
// 当结果集不为空时
System.out.println("学号:" + result.getInt("id") + "姓名:"
+ result.getString("name"));
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
// 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
// 注意关闭的顺序,最后使用的最先关闭
if (result != null)
result.close();
if (pre != null)
pre.close();
if (con != null)
con.close();
System.out.println("数据库连接已关闭!");
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
需要一些前提条件:
1、对方的主机能被连接(如在同一局域网内)
2、需要知道对方数据库IP、端口号、服务名
3、需要知道对方提供的管理数据库的用户名及密码
连接方法:
1、在本地的oracle安装目录,找到tnsnames.ora文件,一般在~\oracle\product\10.2.0\db_1\network\ADMIN目录下,如图:
2、用文本打开tnsnames.ora文件,添加以下内容:
本地自定义实例名 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP或数据库主机名)(PORT = 数据库端口号))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 数据库服务名)
)
)
3、保存文件即可。
4、打开第三方工具,如plsq,输入对方提供的用户名及密码,选择新建的数据库链接即可。
具体的代码如下:
/// summary
/// Oracle 的数据库连接字符串.
/// /summary
private const String connString =
@"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.210)
(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL)));User
Id=TEST;Password=TEST123";
192.168.1.210 是 Oracle 数据库服务器的 IP 地址
1521 是 默认的端口号
SERVICE_NAME=ORCL 意思是Oracle 数据库服务是ORCL
后面就是用户名密码了。
扩展资料:
部分描述:
abstract:可以和类、方法、属性、索引器及事件一起使用,标识一个可以扩展但不能被实体化的、必须被实现的类或方法。
as:一个转换操作符,如果转换失败,就返回null。
base:用于访问被派生类或构造中的同名成员隐藏的基类成员。
catch:定义一个代码块,在特定类型异常抛出时,执行块内代码。
checked:既是操作符又是语句,确保编译器运行时,检查整数类型操作或转换时出现的溢出。
const:标识一个可在编译时计算出来的变量值,即一经指派不可修改的值。
delegate:指定一个声明为一种委托类型。委托把方法封装为可调用实体,能在委托实体中调用。
enum:表示一个已命名常量群集的值类型。
event:允许一个类或对象提供通知的成员,他必须是委托类型。
explicit:一个定义用户自定义转换操作符的操作符,通常用来将内建类型转换为用户定义类型或反向操作,必须再转换时调用显示转换操作符。
extern:标识一个将在外部(通常不是c#语言)实现的方法。
参考资料来源:百度百科-c#
内连接和外连接是SQL语句的标准,不是oracle独有的。
内连接(inner join) 指两个表关联的时候,关联字段全部匹配。
外连接有几种(oracle支持3种,有些数据库只支持1-2种):
左外连接(left outer join) 是关联时,只要匹配到左边的表中相关字段,不用关心右边的表是否有匹配数据。
右外连接(right outer join) 是关联时,只要匹配到右边的表中相关字段,不用关心左边的表是否有匹配数据。
全外连接 (full outer join)是关联时,只要匹配到任意两边的表中相关字段就可以。