添加外键约束
1.外键约束格式:alter table 从表 add constraint foreign key (从表外键字段) references 主表 (主表主键)
alter table product add constraint foreign key (category_id) references category (cid);
2.声明表,在约束区域添加外键约束
create table product2(
pid varchar(32) primary key, #主键
pname varchar(50),
price double(5,2),
category_id varchar(32), #外键,cid varchar(32)保持一致
constraint foreign key (category_id) references category (cid)
);
多表查询
隐式内连接
语法:select * from A,B,C,... where a=b and b=c and ...;
内连接,"隐式内连接"另一种语法
关键字:inner join
语法:select * from A
inner join B on a=b
inner join C on b=c
左外连接
关键字:left outer join
语法:select * from A left outer join B on a=b;
解释:查询左表(A)所有的数据,右表(B)是否显示,取决于条件是否成立。如果成立显示,如果不成立显示null
右外连接
关键字:right outer join
语法:select * from A right outer join B on a=b;
解释:查询product,左表(A)是否显示,取决于条件是否成立。如果成立显示,如果不成立显示null
子查询,一条select语句的结果,作为另一条select语句语法一部分(条件,表名,查询字段)。
子查询 -- 条件的一部分
select c.cname from category c where c.cid = (select p.category_id from product p where p.pname = '盼盼');
子查询-- 表名
select c.cname from category c , (select * from product p where p.pname = '盼盼') b where c.cid = b.category_id;