数据库第五课
1.计算机英语单词
order 次序 join 连接 limit 界限
2.项目目标
- 查询id为1的用户所有好友的朋友圈动态,并按照发送时间降序排列
- 排序----关联查询----子查询----分页查询
3.排序—对数据按一定的规则排序
order by 方法
升序
select *from teacher order by age src;
降序
selcet *from teacher order by age desc;
4.关联查询
- 查询两个或两个以上的表中的数据
- 关联查询
-
等值连接
select teacher.id,teacher.name,schoole.name from teacher,school where teacher.school_id = school.id;
-
内连接----内连接是完全匹配显示两个表的数据
select t.id,t.name,s.name from teacher t inner join school s on t.school_id=s.id; inner可以省略
-
外链接
-
左外连接----完全显示左表的所有数据然后显示满足条件的右表的数据
select t.id,t.name '老师',s.name '学校' from teacher t left outer join school s on t.school_id = s.id; outer 可以省略
-
右外链接----完全显示右表的数据然后显示满足条件的左表数据
select t.id,t.name '老师',s.name '学校' from teacher t right join school s on t.school_id = s.id;
-
-
自连接—关联同一张表的查询
select t.id.t.name teacher,mng.mane leader from teacher t join teacher mng on t.manager=mng.id;
-
5.别名
-
as 关键字可以省略
-
别名跟在列名后
-
可以用来简化表名
-
可以改变标题的显示
select t.id id,t.name '老师',s.name '学校' from teacher as t,schoole s where t.school_id =s.id; id,'学校','老师'这都是别名
6.子查询
-
子查询是嵌入在其他SQL语句中的select语句
查询年龄大于等于40岁的老师所在的学校 select id,name from school where id in(select school_id from teacher where age>=40);
7.分页查询
-
limit m,n (limit是关键字)
-
从m开始,检索n行记录
m可以省略,默认从0开始检索 select id,name from teacher limit 0,5; select id,name from teacher limit 5; 检索score表的第11-20条数据 select *from score limit 10,10;
8.项目不目标的完成
select m.id,m.content,m.send_time,m.sender_id from mc_moment m join mc_friend f on m.sender_id=f.friend_id where f.user_id=1 order by m.send_time desc;
作业
- 分别使用内连接和子查询,查出人大附中所有的数学老师的姓名;