CREATE TABLE major
(
number INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20)
)
create table student(
id int not null auto_increment primary key,
num int,
name varchar(10)
majorid int,
CONSTRAINT 约束名 foreign key(majorid ) references major(id)
);
2.在创建表后添加关系? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
ALTER TABLE 表名 ADD CONSTRAINT 约束名 FOREIGN KEY(组名) REFERENCES 表名(组名)
1.用where条件关联查询
SELECT
s.number,s.name,s.gender,s.phone,m.name mname
FROM student s,major m
WHERE s.majorid =m.number -- 先产生一个笛卡尔乘积 然后再条件筛选
2.inner连接:把满足条件关联在一起
SELECT
s.number,s.name,s.gender,s.phone,m.name mname
FROM student s
INNER JOIN major m ON s.majorid =m.number -- 把满足条件关联在一起
3.left连接 :即使不满足连接条,也要把左边表中的所有数据查询出来
SELECT
s.number,s.name,s.gender,s.phone,m.name mname
FROM student s
LEFT JOIN major m ON s.majorid =m.number -- 左连接 即使不满足连接条,也要把左边表中的所有数据查询出来
4.right连接:即使不满足连接条,也要把右边表中的所有数据查询出来
SELECT
s.number,s.name,s.gender,s.phone,m.name mname
FROM student s
RIGHT JOIN major m ON s.majorid =m.number -- 右连接 即使不满足连接条,也要把右边表中的所有数据查询出来