简单弄懂MySQL数据库基础知识
发布时间:2023-10-14 15:17:40 所属栏目:MySql教程 来源:
导读:下面讲讲关于MySQL数据库基础知识,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL数据库基础知识这篇文章你一定会有所受益。
sql语句实战--表连接 (多表查询)
标准SQL语
sql语句实战--表连接 (多表查询)
标准SQL语
下面讲讲关于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 tab1 left join tab2 on 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; 可见有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 可见有id、address、A_id三个字段 3) 往A表里插数据: Insert into A(name) Values('张'),('李'),('王'); 4) 往B表里插数据: Insert into B(address,A_id) Values('北京',1),('上海',3),('天津',10); 5) 执行内连接语句(首推此语句) Select A.name, B.address from A,B where A.id = B.A_id; 解释:查找A表里的name字段和B表里的address字段,条件是A表里的id字段和B表里的A_id字段做连接。 6) 执行左连接语句 Select A.name, B.address from A left join B on A.id = B.A_id; 解释:左连接是以左侧的列为主,右侧的列去匹配左侧的,如果匹配不上,则为空; 从结果可以看出,右侧的第三行address没有匹配上,所以为空。 7) 执行右连接语句 Select A.name, B.address from A right join B on A.id = B.A_id; 解释:右连接是以右侧的列为主,左侧的列去匹配右侧的,如果匹配不上,则为空; 从结果可以看出,左侧的第三行name没有匹配上,所以为空。 8) 子查询语句 Select * from A where id in (select A_id from B where address = ‘北京’); 解释:括号里的意思是从B表里找address是北京的对应的A_id, 然后再和A表的id去匹配。 (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐