数据库(二)

1.连接查询

1.内连接

select * from student st inner join number mu on st.id = nu.type,id;

2.左连接

select * from student st left join number mu on st.id = nu.type,id;

2.右连接

select * from student st right join number mu on st.id = nu.type,id;

多表联查才可能需要右连接:表一表二连接为从表,表三为主表。

2.自关联

通过起别名实现同一张表的连接查询。

3.子查询

嵌套查询语句。

1.子查询充当条件

例子:查询价格高于平均价格的商品

select * from goods where price > (select avg(price) from goods)

2.子查询充当数据源

例子:查询所有来自并夕夕的商品信息,包含商品分类(表内字段不可重复否则会报错),可以起别名来避免。

select * from (select go.*,ca.id cid,ca.typeId ctid,ca.catename from goods go left join category ca on go.typeId=ca.typeId) new where new.company='并夕夕'; 

3.扩展

1.E-R图

E:entry,实体,描述具有相同特征事物的抽象

属性:每个实体的具有的各种特征称为属性

R:表示relationship,联系,实体之间存在各种关系,关系的类型包括一对一、一对多、多对多

2.外键

说明:通过外部数据表的字段,来控制当前数据表的数据内容变更,防止单方面的移除数据,导致关联表产生垃圾数据。

注意:一般项目不用,因为会严重影响除数据查询操作以外的其他操作。

3.索引

说明:增加查询语句的执行效率

注意:添加过多,会严重影响除数据查询操作以外的其他操作。

4.刷题

力扣

牛客网

 

posted @ 2021-11-04 11:35  申疯疯  阅读(49)  评论(0)    收藏  举报