连接查询
多表连接分为:内连接和外连接,结合示例说明它们之间的差别和应用
Employee表
eNo |
eName |
Age |
depNo |
1 |
张小 |
27 |
1 |
2 |
黄二 |
20 |
1 |
3 |
卫三 |
33 |
2 |
4 |
齐七 |
27 |
|
Department表
dNo |
dName |
1 |
技术 |
2 |
人事 |
3 |
后勤 |
4 |
销售 |
1.内连接--inner join
查询员工编号、姓名、年龄和所在部门名称,内连接查询:
Select e.eNo,e.eName,e.age,d.dName
From employee as e (inner) join department as d
On e.depNo=d.dNo
employee和department之间通过键连接,employee中为depNo,department中为dNo,语句中在on后面指出
查询结果为:
eNo |
eName |
Age |
dName |
1 |
张小 |
27 |
技术 |
2 |
黄二 |
20 |
技术 |
3 |
卫三 |
33 |
人事 |
内连接又称为等值连接,只返回由键连接符合条件的结果
2.外连接
内连接查询只能获得两表中具有‘共同’部分的结果,有时候我们需要employee中所有的数据或者department中所有的数据,这可以使用外连接实现。外连接包括左外连接、右外连接和全连接,其作用不同。
(1)左外连接--left out join以左表为基准表,返回左表的所有数据和右表中符合条件的数据,如果右表中没有对应的值则为null
左外连接查询:
Select e.eNo,e.eName,e.age,d.dName
From employee e left (out) join department d
On e.depNo=d.dNo
查询结果为:
eNo |
eName |
Age |
dName |
1 |
张小 |
27 |
技术 |
2 |
黄二 |
20 |
技术 |
3 |
卫三 |
33 |
人事 |
4 |
齐七 |
27 |
null |
(2)右外连接--right out join 以右表为基准表,结果返回右表所有数据和左表符合条件的数据,如果左表中没有对应的值则返回null
右外连接查询:
Select e.eNo,e.eName,e.age,d.dName
From employee e right (out) join department d
On e.depNo = d.dNo
查询结果:
eNo |
eName |
Age |
depNo |
1 |
张小 |
27 |
技术 |
2 |
黄二 |
20 |
技术 |
3 |
卫三 |
33 |
人事 |
null |
null |
null |
后勤 |
null |
null |
null |
销售 |
(3)全连接--full join 查询结果返回两个表中所有数据
全连接查询:
Select e.eNo,e.eName,e.age,d.Name
From deployee e full join department d
On e.depNo = d.dNo
查询结果:
eNo |
eName |
Age |
depNo |
1 |
张小 |
27 |
技术 |
2 |
黄二 |
20 |
技术 |
3 |
卫三 |
33 |
人事 |
4 |
齐七 |
27 |
null |
null |
null |
null |
后勤 |
null |
null |
null |
销售 |
相关推荐
本文实例讲述了MySQL 多表关联一对多查询实现取最新一条数据的方法。分享给大家供大家参考,具体如下: MySQL 多表关联一对多查询取最新的一条数据 遇到的问题 多表关联一对多查询取最新的一条数据,数据出现重复 ...
本文实例讲述了thinkPHP5框架实现多数据库连接,跨数据连接查询操作。分享给大家供大家参考,具体如下: 1. 多数据库连接 方法1:在需要连接其他数据库的地方,使用Db::connect()方法动态连接数据库,方法参数为...
数据库连接查询、子查询、嵌套查询、汇总数据
sql多表连接查询inner join, left join , right join ,full join ,cross join Posted on 2008-05-07 21:55 我开始懂了 阅读(21431) 评论(9) 编辑 收藏 inner join,full outer join,left join,right jion 内部连接 ...
数据查询2—连接查询:同时涉及两个以上的表的查询 连接条件:用来连接两个表的条件 [.] [.] 连接字段:连接条件中的列名称(注意:连接字段类型必须是可比的,但名字不必相同) 连接查询—(1)等值与非等值连接查询:...
C#连接Oracle数据库(查询数据)方法,好东西,分享一下
SQL的数据查询功能之三---多表连接查询,希望对大家的学习及工作有所帮助
oracle 多表查询与数据修改学习笔记,主要是让大家熟悉三个或四个表的连接查询,熟练掌握delete、update与insert的语法。
【实验二 数据库的简单查询和连接查询实验】 【背景】设计一个简单的图书管理系统,该系统中包括: 图书信息:书号,书名,类别,出版社,作者,定价,备注; 读者信息:读者编号,姓名,单位,性别,电话; ...
数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作
这是因为ORACLE只对简单的表提供高速缓冲(cache buffering) ,这个功能并不适用于多表连接查询..数据库管理员必须在init.ora中为这个区域设置合适的参数,当这个内存区域越大,就可以保留更多的语句,当然被共享的可能性...
Linux下连接金仓数据库(ksql)并完成查询、插入、修改表数据实例,修改后可用于oracle及mysql
实验目的:通过使用SSMS工具,练习对数据库中的数据表进行单表查询、多表连接查询、子查询。对数据表中的数据进行更改和删除等操作。 实验要求:将相关的SQL 语句和运行结果的截屏保存在文件中,或填写在下面的实验...
数据库的简单查询和连接查询 1、使用SQL语句创建数据库和表,学会使用SQL语句修改表结构添加数据的方法,掌握如何快速的把一个表中的多行数据插入到另一个表中,掌握更新表中多行数据的方法,学会如何删除表中的一...
对OCI的简单封装,完成数据的查询,集合多线程、连接池。 对OCI的简单封装,完成数据的查询,集合多线程、连接池。 对OCI的简单封装,完成数据的查询,集合多线程、连接池。 对OCI的简单封装,完成数据的查询,集合...
数据库系统概论数据查询之连接查询 ⼤纲 1. 等值或其他⽐较连接 2. ⾃⾝连接 3. 外连接 4. 多表连接 SQL中"连接"是⽤"连接条件来表达的"。 连接条件⼀般格式: 表1.列名1<⽐较运算符>表2.列名2。 等值连接:连接...
练习:连接数据库并查询数据
经常有网友在程序运行时数据库有时连接有问题,排查也比较麻烦所以写了一个小程序来实现这样的功能 ms sql server
4、多表上联合查询 5、子查询 6、合并查询结果 7、为表和字段取别名 8、使用正则表达式查询 什么是查询? 怎么查的? 数据的准备如下: [sql] view plain copy create table STUDENT( STU_ID int primary KEY, ...