【HBU】数据库第五周 连接查询

若一个查询同时涉及两个以上的表,则称之为连接查询。
连接查询的Where子句中用来连接两个表的条件成为连接条件或连接谓词

等值与非等值连接查询

	查询每个学生及其选修课程情况
SELECT Student.*,SC.*
from Student,sc	
where student.sno=sc.sno;

在这里插入图片描述
笛卡尔积:

Select * from Student,SC;

在这里插入图片描述

若在等值连接中把目标列中重复的属性列去掉则为自然连接
对上例用自然连接完成

SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
from Student,sc	
where student.sno=sc.sno;

在这里插入图片描述
一条Sql语句可以同时完成选择和连接查询,这时Where子句是由连接谓词和选择谓词组成的复合条件。
查询选修2号课程且成绩在85分以上的所有学生的学号和姓名

SELECT Student.Sno,Sname
from Student,sc	
where student.sno=sc.sno And
  sC.CNO='2' aND sC.Grade>=85;

在这里插入图片描述

自身连接

查询每一门课的间接选修课

这里巧妙的是给Course表分别取了first和second两个别名(在语句中实现)
然后分别选择了first表自身的课程号和其先修课程的先修课程号 就实现了间接选修课

Select first.cno,second.cpno
from Course first,course second
where first.Cpno=second.cno;

在这里插入图片描述
T-sql里会把空值也显示出来 这是T-sql和sql不同的特性造成的

外连接

在通常的连接操作中,只有满足连接条件的元组才能作为结果输出。但有时想某些不符合条件的元组保存在结果关系里,就需要使用外连接。
左外连接是列出左边关系中满足的元组 

以STUDENT表为主题列出每个学生的基本情况和其选课情况,若某个学生没有选课,仍把Student的悬浮元组保留在结果关系中

Select Student.Sno,Sname,Ssex,sage,sdept,cno,grade 
from Student LEFT OUTER JOIN SC ON (Student.sno=Sc.sno);

在这里插入图片描述

多表连接

查询每个学生的学号 姓名 选修的课程以及成绩

Select Student.sno,Sname,Cname,Grade 
 from student,sc,course
where student.sno=sc.sno and sc.cno=course.cno;

在这里插入图片描述

参考资源链接:[CentOS 6.5 安装Oracle 12C详细教程:步骤与配置详解](https://wenku.csdn.net/doc/741q4p6hbu?utm_source=wenku_answer2doc_content) 安装Oracle 12C之前,系统配置是确保数据库稳定运行的关键一步。以下是详细步骤: 1. **防火墙设置**:首先关闭iptables服务,以免防火墙阻止数据库通信。执行以下命令: ``` service iptables stop chkconfig iptables off ``` 2. **主机名修改**:确保主机名符合Oracle的安装要求。使用hostname命令查看当前主机名,并使用hostname命令和sed工具来修改它。例如,将主机名改为oracledb: ``` hostnamectl set-hostname oracledb ``` 3. **DNS配置**:编辑/etc/hosts文件,添加以下行以映射主机名和IP地址: ``` ***.*.*.* localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 [IP地址] oracledb ``` 替换[IP地址]为你的实际IP地址。 4. **SELinux管理**:为了减少安全限制可能带来的问题,建议在安装过程中禁用SELinux: ``` setenforce 0 sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config ``` 5. **内核参数调整**:编辑`/etc/sysctl.conf`文件来调整内核参数,如增加文件描述符限制和共享内存大小: ``` ***o-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = *** kernel.shmmni = 4096 kernel.sem = *** net.ipv4.ip_local_port_range = *** net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586 ``` 应用更改: ``` sysctl -p ``` 6. **依赖包安装**:使用yum安装所有必要的依赖包。确保你的系统是最新的,并安装以下软件包: ``` yum update -y yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel ``` 7. **用户和组管理**:创建用户组install和dba,并设置相应的用户ID。然后创建oracle用户,并将其加入到这些组中: ``` groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle ``` 设置用户密码后,确保oracle用户拥有必要的权限,尤其是在安装目录下的文件和目录。 以上步骤完成后,你的CentOS 6.5系统将准备好安装Oracle 12C数据库。为了更深入地理解每一步的操作和其背后的原因,推荐参阅《CentOS 6.5 安装Oracle 12C详细教程:步骤与配置详解》。这份资源详细介绍了安装过程中的每一个细节,并提供了步骤与配置的详解,能够帮助你更好地掌握整个安装过程,确保数据库的顺利部署和运行。 参考资源链接:[CentOS 6.5 安装Oracle 12C详细教程:步骤与配置详解](https://wenku.csdn.net/doc/741q4p6hbu?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值