SQL连接查询和嵌套查询详解
连接查询



SELECT Student.*,Study.*
FEOM Student,Study
WHERE Student.Sno=Study.Sno /*将Student与Study中同一学生的元祖连接起来*/
得到的结果:

SELECT Student.Sno,SName,SSex,Sdept,Cno,Grade
FROM Student,Study
WHERE Student.Sno=Study.Sno
结果:

SELECT C1.Cpno
FEOM Course AS C1,Course AS C2 <span style="white-space:pre;"> </span>--为Course表起两个别名C1、C2
WHERE C1.Pcno=C2.Cno --两个Course表的连接
结果:

SELECT Student.Sno,Cno
FROM Student
LEFT JOIN Study
ON Student.Sno=Study.Sno
WHERE Grade IS NULL
结果:

SELECT Student.Sno AS 学号,SName AS 姓名, Grade AS 成绩
FROM Student
LEFT JOIN Study<span style="white-space:pre;"> </span>
ON Student.Sno=Study.Sno
SELECT Student.Sno AS 学号,SName AS 姓名, Grade AS 成绩
FROM Study
RIGHT JOIN Student
ON Study.Sno=Student.Sno
结果:

--1、WHRER 语句
--2、INNER JOIN.. 语句
SELECT Student.SName AS 学生姓名,Grade AS 成绩,CName AS 课程名
FROM Student
INNER JOIN Study ON Student.Sno=Study.Sno
INNER JOIN Course ON Study.Cno=Course.Cno
WHERE Course.Cno='C601'
相当于自然连接查询:
SELECT Student.SName AS 学生姓名,Grade AS 成绩,CName AS 课程名
FROM Student,Course,Study
WHERE Student=Study.Sno AND Study.cno=Course.Cno ADN Course.Cno=C601
嵌套查询
SELECT SName
FROM Student
WHERE Sex='女' AND Sno NOT IN
(
SELECT Sno
FROM Stduy
WHERE Grade<90
)
SELECT Sno,SName
FROM Student
WHERE Sno IN
(
SELECT Sno
FROM Study
WHERE Cno IN
(
SELECT Cno
FROM Course
WHERE CName='高等数学'
)
)
相当于连接查询:
SELECT Student.Sno,SName
FROM Student,Course,Study
WHERE Student.Sno=Study.Sno AND Course.Cno=Study.Cno AND Course.CName='高等数学'
结果:

SELECT SName FROM Student
WHERE Sno IN
(
SELECT Study1.Sno
FROM Study AS Study1
JOIN Study AS Study2
ON Study1.Sno=Study2.Sno
WHERE Study1.Cno='C601' AND Study2.Cno='C602'
)
结果:

SQL连接查询和嵌套查询详解的更多相关文章
- (修改)oracle11g监听多台主机配置,用pl/sql连接操作多个数据库详解
很多朋友在开发项目中并不是每个人用一个数据库,而是有单独的一台主机作为开发的数据库服务器,这样,就需要我们的开发人员去连接它. 首先是进入oracle的 Net Mananger:
- Oracle中的SQL分页查询原理和方法详解
Oracle中的SQL分页查询原理和方法详解 分析得不错! http://blog.csdn.net/anxpp/article/details/51534006
- Sql Server系列:嵌套查询
嵌套查询是指一个查询语句嵌套在另一个查询语句内部的查询.嵌套查询也就子查询,在SELECT子句中先计算子查询,子查询结果作为外层另一个查询的过滤条件,查询可以基于一个表或多个表.子查询中可以使用比较运 ...
- SQL数据查询之——嵌套查询
一.概念描述 在SQL语言中,一个 SELECT-FROM-WHERE 语句称为一个查询块.将一个查询块嵌套在另一个查询块的 WHERE 子句或 HAVING 短语的条件中的查询称为 嵌套查询.例如: ...
- SQL Server 之 子查询与嵌套查询
当由where子句指定的搜索条件指向另一张表时,就需要使用子查询或嵌套查询. 1 子查询 子查询是一个嵌套在select.insert.update或delete语句或其他子查询中的查询.任何允许使用 ...
- SQL基础--查询之三--嵌套查询
SQL基础--查询之三--嵌套查询
- Netsuite Formula > Oracle函数列表速查(PL/SQL单行函数和组函数详解).txt
PL/SQL单行函数和组函数详解 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 ...
- 多表连接的三种方式详解 hash join、merge join、 nested loop
在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式.多表之间的连接有三种方式:Nested Loops,Hash Join 和 Sort Merge Join.具体适用哪 ...
- SQL Server数据库ROW_NUMBER()函数使用详解
SQL Server数据库ROW_NUMBER()函数使用详解 摘自:http://database.51cto.com/art/201108/283399.htm SQL Server数据库ROW_ ...
- ASP.NET连接Oracle数据库的步骤详解(转)
ASP.NET连接Oracle数据库的步骤详解 本文我们主要介绍了ASP.NET连接Oracle数据库的步骤及每个步骤需要进行的设置,希望能够对您有所帮助. 在用ASP.NET开发应用程序时, ...
随机推荐
- HashMap 和 Hashtable 的同和不同
综述 可以直接根据 hashcode 值判断两个对象是否相等吗?肯定是不可以的,因为不同的对象可能会生成相同的 hashcode 值.虽然不能根据 hashcode 值判断两个对象是否相等,但是可以直 ...
- 从SDCard获取的图片按分辨率处理的方法
前段时间公司开发的Launcher要做主题切换的功能,但切换主题时须要从sdcard中获取要切换的图片资源,拿到后图片的大小不正常. 后来查找原因是:系统对不同分辨率拿到的图片资源会自己主动的做转化, ...
- poj 2932 Coneology (扫描线)
题意 平面上有N个两两不相交的圆,求全部最外层的,即不被其它圆包括的圆的个数并输出 思路 挑战程序竞赛P259页 代码 /* ************************************* ...
- [笔记] sed and awk
/ awk程序的典型示例是将数据转换成格式化的报表,当数据拥有某种结构时就能最好的体现awk的好处:可以使用awk脚本对数据的列重新排序,甚至可以将列变成行以及将行变成列:awk的功能将文本编辑的思想 ...
- Spark SQL之External DataSource外部数据源(二)源代码分析
上周Spark1.2刚公布,周末在家没事,把这个特性给了解一下,顺便分析下源代码,看一看这个特性是怎样设计及实现的. /** Spark SQL源代码分析系列文章*/ (Ps: External Da ...
- kubernetes之故障排查和节点维护(二)
系列目录 案例现场: 测试环境集群本来正常,突然间歇性地出现服务不能正常访问,过一会儿刷新页面又可以正常访问了.进入到服务所在的pod查看输出日志并没有发现异常.使用kubectl get node命 ...
- px rem css 转换工具
http://520ued.com/tools/rem mark 一下 貌似还挺好用
- Canvas学习笔记——弹动
如果有一根橡皮筋拴住一个小球,将小球拉开一定距离后释放,小球将会弹动.距离越远,橡皮筋对小球施加的外力越大,小球的加速度就越大.也就是说,小球的加速度与距离是成正比例关系的.这和缓动很相似,缓动是速度 ...
- Oracle 一行拆分为多行
测试数据: CREATE TABLE t (str VARCHAR2(30)); INSERT INTO t VALUES ( 'X,Y,Z' ); INSERT INTO t VALUES ( 'X ...
- httpurlconnection模拟post提交form表单(普通文本和上传文件) (
http://blog.sina.com.cn/s/blog_8417657f0101gvpc.html 用HttpUrlConnection模拟post表单进行文件上传平时很少使用,比较麻烦. 原理 ...