1、餐馆菜单输出最贵的五道菜
SELECT food_name FROM table ORDER BY food_price LIMIT 5;
2、学校中有一个年级表,有两个核心字段,student_id和class_id,把年级中大于30人的班级查出来
SELECT class_id FROM table GROUP BY class_id HAVING COUNT(*)>30;
3、mysql外键
如果公共关键字在一个关系中是主关键字,那么这个公共关键字在另一个关系表中是外键
作用:用于保持数据一致性、完整性,控制存储在外键表中的数据
4、mysql的连接查询
INNER JOIN:两边表同时有对应的数据,即任何一边数据缺失就不显示
LEFTJOIN:读取左边数据表中的全部数据,即使右边无对应数据
RIGHT JOIN:读取右边数据表中的全部数据,即使左边无对应数据
5、一个成绩表,其中存放了学生信息和成绩信息,三列 id,subject,grade其中subject就是课程的id,如何将学生按总分排序
SELECT id,AVG(grade) FROM GROUP BY id ORDER BY AVG(grade);//输出学生id,和对应的平均分;
6、找出每个班级里面的及格的人数和不及格的人数
SELECT class,
SUM( IF(score >= 60, 1, 0) ) as gt,
SUM( IF(score < 60, 1, 0 ) ) as lt
FROM table
GROUP BY class;
7、订单表user_order结构和数据如下。请编写sql语句查出首次下单日期是2018年05月22号的用户数量,注意是首次下单。
id user_id product price create_date
1 234 坚果Pro2 1400 '2018-05-21'
2 234 锤子TNT 1400 '2018-05-21'
3 356 小米mix 1400 '2018-05-21'
4 357 硅胶娃娃 1400 '2018-05-21'
select count(*) from (select * from user_order group by user_id having min(create_date) = '2018-05-22');
8、一张学生表。把数学成绩前10的学生信息查出来
SELECT * FROM table ODER BY math ASC LIMIT 10;
9、订单表结构为 (用户id,商品id),写一个sql语句,查询购买商品数最多的前十个用户
SELECT user_id FROM table GROUP BY user_id ORDER BYproduct_id LIMIT 0,10;
10、聚合函数有AVG、COUNT、MAX、MIN、SUM