温馨提示×

温馨提示×

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

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

MySql连接查询的示例分析

发布时间:2022-01-14 16:36:20 来源:亿速云 阅读:126 作者:小新 栏目:数据库

这篇文章主要介绍了MySql连接查询的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

MySql连接查询精解
 
出于对知识的总结和分享,对常见的查询做了练习和总结。
数据准备,包括两个表,tuser和ttable。tuser和ttable为1对多关系。
tuser表结构如下:
名称  www.2cto.com  
类型
备注
id                                                                       
Integer                                                     
主键                                                         
name
Varchar(50)
用户名称
password
Varchar(50)
用户密码
Sex
Varchar(20)
用户性别
 
ttable表机构如下:
名称
类型
备注
id                                                                       
Integer                                                     
主键                                                          
name
Varchar(50)
名称
userid
Integer 
用户id
 
建表语句:
[sql] 
<span style="font-size:18px;">Create table tuser(id Integer primary key,  
                   name varchar(50),  
               password varchar(50),  
                   sex  varchar(20)  
                   );  
Create table ttable(id Integer primary key,  
               name varhcar(50),  
                   userid Integer  
);    www.2cto.com  
</span>  
 
 
插入数据语句
[sql] 
<span style="font-size:18px;">Insert into tuser(id, name, password,sex)values(1,&rsquo;中文&rsquo;,&rsquo;测试&rsquo;,&rsquo;m&rsquo;);  
Insert into tuser(id, name, password,sex)values(2,&rsquo;中文&rsquo;,&rsquo;测试&rsquo;,&rsquo;m&rsquo;);  
  
Insert into ttable(id,name, userid)values(1,&rsquo;1&rsquo;,1);  
Insert into ttable(id,name, userid)values(2,&rsquo;2&rsquo;,2);  
Insert into ttable(id,name, userid)values(3,&rsquo;2&rsquo;,2);  
</span>  
 
1、  左外连接
select * from ttablet left join tuser u on t.userid=2 and t.userid=u.id;结果如下:

 
以左侧表(ttable)为基础,满足条件数据全部查询出来,右表(tuser)不满足条件出现null补齐
 
2、右外连接
 select * from ttable t right join tuser u on t.userid=2 and t.userid=u.id出现如下结果:  www.2cto.com  

 
以右表为基础(tuser)满足条件的数据全部查询出来,左表(ttable)不满足条件出现null补齐
 
3、内连接
select * from ttable,tuser;出现结果如下:

 
以笛卡尔积的方式展现。设A、B为集合,用A中的元素x作第一元素,B中的元素y作第二元素,构成有序对,所有这样的有序对组成的集合,叫做A和B的笛卡儿积,记做A&times;B。 
在中,设有关系A为 <学号、姓名> ,具体内容为{ <1,张三> , <2,李四> };关系B为 <学号、年龄> ,具体内容为{ <1,20> <2,22> }。 
则A&times;B={ <1,张三,1,20> , <1,张三,2,22> , <2,李四,1,20> , <2,李四,2,22> } 
如果再做第一列=第三列的选择,再做只保留第一、第二、第三列的投影,即得{ <1,张三,20> , <2,李四,22> }这样,通过关系代数的三个运算,我们查到了每个人的年龄。
 

感谢你能够认真阅读完这篇文章,希望小编分享的“MySql连接查询的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

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

AI