MySQL_内、左右连接及外键

版权声明:如果有不同看法,或者是文中写错的地方,麻烦各位花费几秒的时间,指出文中的错误。灰常感谢!!! https://blog.csdn.net/pseudonym_/article/details/77388965

1. 建立外键
 添加外键约束可以保证数据的有效性和完整性。

这个是: 在表A中的字段x向表B中的字段y建立外键。

1.向表添加外键
alter table 表A add foreign key 表A(字段x) references 表B(字段y);

2.在创建表的时候增加主键约束
create table 表A(
	字段1 类型(长度) 约束,
	字段x 类型(长度) 约束,
	foreign key (字段x) references 表B(字段y)
);

2. 内连接

  • 普通内连接
    前提条件:需要有外键。
    语法:inner join ... [on 条件]
    例如:select * from 表A inner join 表B on 字段A = 字段B;

  • 隐式内连接
    可以不使用关键字
    语法:inner join ... [on 条件]
    例如:select 表A, 表B where 字段A = 字段B;

3. 外链接

  • 左外连接~~~(看左表,把左表所有的数据全部都查出来)
    前提条件:需要有外键。
    语法:left [outer] join ... [on 条件]
    例如:select * from 表A left outer join 表B on 字段A = 字段B;

  • 右外连接~~~(看右表,把右表所有的数据全部都查出来)
    可以不使用关键字
    语法:right [outer] join ... [on 条件]
    例如:select * from 表A right outer join 表B on 字段A = 字段B;

4. 子查询
 所谓的子查询就是指: 查询的内容需要另一个查询结果。
例如:select * from 表A where 字段A > (select * from 字段1 where 条件);

		any 	任意
		all		全部
		>any	大于结果的最小值
		>all	大于结果的最大值

猜你喜欢

转载自blog.csdn.net/pseudonym_/article/details/77388965