mysql怎么自己关联表 mysql创建表关联其他表

mysql 中怎么关联表

第一:内联(inner join)

创新互联公司专注于衢江企业网站建设,成都响应式网站建设公司,商城系统网站开发。衢江网站建设公司,为衢江等地区提供建站服务。全流程按需网站策划,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务

如果想把用户信息、积分、等级都列出来,那么一般会这样写:

select * from T1, T3 where T1.userid = T3.userid

(其实这样的结果等同于select * from T1 inner join T3 on T1.userid=T3.userid )。

把两个表中都存在userid的行拼成一行(即内联),但后者的效率会比前者高很多,建议用后者(内联)的写法。

SQL语句:

select * from T1 inner join T2 on T1.userid = T2.userid

运行结果

T1.userid username password T2.userid jifen dengji

1 jack jackpwd 1 20 3

第二:左联(left outer join)

显示左表T1中的所有行,并把右表T2中符合条件加到左表T1中;

右表T2中不符合条件,就不用加入结果表中,并且NULL表示。

SQL语句:

select * from T1 left outer join T2 on T1.userid = T2.userid

运行结果

T1.userid username password T2.userid jifen dengji

1 jack jackpwd 1 20 3

2 owen owenpwd NULL NULL NULL

第三:右联(right outer join)。

显示右表T2中的所有行,并把左表T1中符合条件加到右表T2中;

左表T1中不符合条件,就不用加入结果表中,并且NULL表示。

SQL语句:

select * from T1 right outer join T2 on T1.userid = T2.userid

运行结果

T1.userid username password T2.userid jifen dengji

1 jack jackpwd 1 20 3

NULL NULL NULL 3 50 6

第四:全联(full outer join)

显示左表T1、右表T2两边中的所有行,即把左联结果表 + 右联结果表组合在一起,然后过滤掉重复的。

SQL语句:

select * from T1 full outer join T2 on T1.userid = T2.userid

在MYSQL数据库里如何建立两个表的关联

1、首先我们打开Workbench创一个建数据库(这里都使用闪电1执行选定命令行)。

2、先创建Student学生表。

3、再创建course课程表。

4、然后就可以创建sc关联表了我们先写上Student的主键和course的主键,并写上sc自己的属性成绩。

5、再写上主键约束,以及把sc表的学号属性和Studnet的学号关联、课程号属性和course的课程号关联。

6、再次运行就可以看到我们成功创建了学生表和课程表的关联表sc。

MySQL自关联表

create table node_tree( id int not null auto_increment primary key, node_name varchar(128) not null default '', up_node_id int, node_level char(1) )ENGINE=InnoDB default charset=utf8 collate=utf8_swedish_ci;

insert into node_tree(node_name,up_node_id,node_level) values('jx',null,'1'),('jx.webserver',1,'2'),('jx.webserver.nginx1', 2, '3'), ('jx.logserver', 1, '2');

select

node_tree1.id as 主表ID,

node_tree1.name as 主表名字,

node_tree2.name as 从表名字,

node_tree2.up_id as 从表上级ID

from node_tree1, node_tree2

where node_tree1.name='jx';

select

node_tree1.id as 主表ID,

node_tree1.node_name as 主表名字,

node_tree2.node_name as 从表名字,

node_tree2.up_node_id as 从表上级ID

from node_tree as node_tree1, node_tree as node_tree2

where node_tree1.node_name='jx';


网站栏目:mysql怎么自己关联表 mysql创建表关联其他表
转载来于:http://ybzwz.com/article/doghcje.html