温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

连接查询详解

发布时间:2020-06-12 16:06:40 来源:网络 阅读:413 作者:维度2018 栏目:MySQL数据库


连接查询:

以一个共同的字段,求两张表当中符合条件的并集。 通过共同字段把这两张表连接起来。

常用的连接:

内连接:根据表中的共同字段进行匹配

外连接分两种:左外连接、右外链接。

 

 

1内连接 语法:

select 字段  from 表1 inner join 表2  on 表1.字段=表2.字段

 

2 内连接:根据表中的共同字段进行匹配

create table student(

            sid int(4) primary key auto_increment,

            name varchar(50)

);

mysql> insert into student values(1,'张三'),(2,'mk'),(3,'jack'),(4,'tom');

 

创建年级表:grade

create table grade(

            id int(4) primary key auto_increment,

            score varchar(20),

            sid int(4)

);

mysql> insert into grade (score,sid) values ('1231',3),('1231',4),('1231',5),('1231',6);

 

 

查询有的成绩的人的信息.

mysql> select  student.*,grade.* from student,grade where student.sid=grade.sid;

或:

或:

mysql> select student.*,grade.* from student inner join grade  on student.sid=grade.sid;

或:

mysql> select student.*,grade.* from student  join grade  on student.sid=grade.sid;

 

使用表别名,简写SQL语句

mysql> select s.*,g.* from student as s inner join grade as g on s.sid=g.sid;

3 外连接:现实某数据表的全部记录和另外表中符合连接条件的记录。

 

左连接: select  字段 from a表 left join b表  on 连接条件

a表是主表,都显示。

b表从表

 

主表内容全都有,从表内没有的现实null。

mysql> select * from student as s left join grade as g on s.sid=g.sid;

右连接:

select 字段 from a表 right join  b表 on 条件

a表是从表,都显示。

b表主表

 

select * from student as s right join grade as g on s.sid=g.sid;

grade表为主表,全部记录显示出来,student为从表。不匹配的地方以NULL显示

右连接,可以多表连接

注意:有连接多表连接 是 前两个表连接后 成为从表 ,在和第三个表连接。


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI