本文已参与「新人创作礼」活动,一起开启掘金创作之路。
前言
提示:以下是本篇文章正文内容,下面案例可供参考
1.内连接
关键字:inner join 定义: 内连接也成为自然连接,它是根据两个表或者多个表中的列的关系,从这些表中查询数据。 语法:
SELECT 字段名称 FROM 表名1 JOIN 表名2 ON 表名1.字段名1=表名2.字段名2
注意:内连接,只查匹配行
2.外连接(左外连接、右外连接、全外连接)
分别对应的关键字:left、right、full [outer] join(outer关键字可以被省略) 什么是左连接? 以左表为基准,结果集保留左边的所有的行,而右边的表只包含与左边的表匹配的行 什么是右链接? 与左表刚好相反 语法:
SELECT 字段名称 FROM 表名1 LEFT|RIGHT|FULL [OUTER] JOIN 表名2 ON 表名1.字段名1=表名2.字段名2
3.交叉连接
关键字:cross join 定义:两个表数据里面的组合所有可能性 语法:
SELECT fieldlist FROM table1 CROSS JOIN table2
<WHERE 条件表达式>
---fieldlist==》字段名称
--table==》表名
4.简单多表查询
定义: 语法:
SELECT fieldlist FROM table1,table2
<where table1.column=table2.column>
习题
--使用内连接查询员工“李媛媛”的所有的职级信息和员工信息
select rank.RankID 员工职级编号,RankName 员工职级名称,ID 员工编号,name 员工姓名,birthday 出生日期,employee.RankID 员工职级编号,salary 工资,
address 地区,guoji 国籍 from Rank inner join Employee on Rank.RankID=Employee.RankID where name='李媛媛'
---使用内连接查询员工“孟三德”所有员工信息,只显示员工姓名、员工职级编号和员工职级名称
select Name 员工姓名,rank.RankID 员工职级编号,RankName 员工职级名称 from Rank inner join Employee on Rank.RankID=Employee.rankID where name='孟三德'
---使用交叉连接查询“孟三德”的所有信息
select * from Rank cross join Employee where name='孟三德'
---使用多表查询歌曲表及歌手表及歌曲类型表所有信息
use [Super KTV]
select * from song,singer,type
---使用多表查询“孟三德”的信息,只显示员工姓名、员工住址、员工工资及员工国籍
use [huawei]
select name 员工姓名,address 员工住址,salary 员工工资,guoji 员工国籍 from rank,employee where rank.RankID=employee.RankID and name='孟三德'