快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

简单搞懂MySQL数据库基础知识

创新互联长期为千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为永修企业提供专业的成都网站建设、网站制作,永修网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

下面讲讲关于MySQL数据库基础知识,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL数据库基础知识这篇文章你一定会有所受益。

sql语句实战--表连接(多表查询)

标准SQL语句格式有以下4种:

ü 表内连接

Select col1,col2...from tab1,tab2 where tab1.col3=tab2.col3;

 Col1 列名  tab1表名  where tab1.col3=tab2.col3连接条件

ü 表外连接(分两种)

左连接

Select col1,col2... from tab1left join tab2on tab1.col3=tab2.col3;

右连接

Select col1,col2... from tab1 right join tab2 on tab1.col3=tab2.col3;

ü 子查询

Select *from tab1 where col[in]|[=](select *from tab2 where col ...);

实战场景:新建两个表,并插入规定的数据,利用这两个表,练习表的连接(内,左,右,子)                                    

1) 新建表A:

Create table A

(id smallint(5) unsigned auto_increment,

Name varchar(50) not null,

Primary key (id)

) engine=innodb default charset=utf8;

Desc  A;

执行结果:

 简单搞懂MySQL数据库基础知识

可见有id和name两个字段。

2) 新建表B:

Create table B

(id smallint(5) unsigned auto_increment,

Address  varchar(50) not null,

A_id smallint(5) unsigned,

Primary key (id)

) engine=innodb default charset=utf8;

Desc  B;

解释:A_id表示和A关联的ID

执行结果:

 简单搞懂MySQL数据库基础知识

可见有id、address、A_id三个字段 

3) 往A表里插数据:

Insert  into  A(name)

Values('张'),('李'),('王'); 

执行结果:

 简单搞懂MySQL数据库基础知识

4) 往B表里插数据:

Insert  into  B(address,A_id)

Values('北京',1),('上海',3),('天津',10);

执行结果:

简单搞懂MySQL数据库基础知识  

5) 执行内连接语句(首推此语句)

Select A.name, B.address from A,B where A.id = B.A_id;

解释:查找A表里的name字段和B表里的address字段,条件是A表里的id字段和B表里的A_id字段做连接。

执行结果:

 简单搞懂MySQL数据库基础知识

6) 执行左连接语句

Select A.name, B.address from A left join B on A.id = B.A_id;

解释:左连接是以左侧的列为主,右侧的列去匹配左侧的,如果匹配不上,则为空;

执行结果:

简单搞懂MySQL数据库基础知识 

从结果可以看出,右侧的第三行address没有匹配上,所以为空。

7) 执行右连接语句

Select A.name, B.address from A right join B on A.id = B.A_id;

解释:右连接是以右侧的列为主,左侧的列去匹配右侧的,如果匹配不上,则为空;

执行结果:

 简单搞懂MySQL数据库基础知识

从结果可以看出,左侧的第三行name没有匹配上,所以为空。 

8) 子查询语句

Select * from A where id in (select A_id from B where address =‘北京’);

解释:括号里的意思是从B表里找address是北京的对应的A_id,

然后再和A表的id去匹配。

对于以上MySQL数据库基础知识相关内容,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的行业资讯板块。


当前文章:简单搞懂MySQL数据库基础知识
分享地址:http://6mz.cn/article/pjijid.html

其他资讯