查询课程 3-105 且成绩 至少 高于 3-245 的 score 表 。
SELECT * FROM score WHERE c_no = '3-105';+------+-------+--------+| s_no | c_no | degree |+------+-------+--------+| 101 | 3-105 | 90 || 102 | 3-105 | 91 || 103 | 3-105 | 92 || 104 | 3-105 | 89 || 105 | 3-105 | 88 || 109 | 3-105 | 76 |+------+-------+--------+SELECT * FROM score WHERE c_no = '3-245';+------+-------+--------+| s_no | c_no | degree |+------+-------+--------+| 103 | 3-245 | 86 || 105 | 3-245 | 75 || 109 | 3-245 | 68 |+------+-------+--------+-- ANY: 符合SQL语句中的任意条件 。-- 也就是说,在 3-105 成绩中,只要有一个大于从 3-245 筛选出来的任意行就符合条件,-- 最后根据降序查询结果 。SELECT * FROM score WHERE c_no = '3-105' AND degree > ANY(SELECT degree FROM score WHERE c_no = '3-245') ORDER BY degree DESC;+------+-------+--------+| s_no | c_no | degree |+------+-------+--------+| 103 | 3-105 | 92 || 102 | 3-105 | 91 || 101 | 3-105 | 90 || 104 | 3-105 | 89 || 105 | 3-105 | 88 || 109 | 3-105 | 76 |+------+-------+--------+查询课程 3-105 且成绩高于 3-245 的 score 表 。
-- 只需对上一道题稍作修改 。-- ALL: 符合SQL语句中的所有条件 。-- 也就是说,在 3-105 每一行成绩中,都要大于从 3-245 筛选出来全部行才算符合条件 。SELECT * FROM score WHERE c_no = '3-105' AND degree > ALL(SELECT degree FROM score WHERE c_no = '3-245');+------+-------+--------+| s_no | c_no | degree |+------+-------+--------+| 101 | 3-105 | 90 || 102 | 3-105 | 91 || 103 | 3-105 | 92 || 104 | 3-105 | 89 || 105 | 3-105 | 88 |+------+-------+--------+查询某课程成绩比该课程平均成绩低的score表 。
-- 查询平均分SELECT c_no, AVG(degree) FROM score GROUP BY c_no;b表+-------+-------------+| c_no | AVG(degree) |+-------+-------------+| 3-105 | 87.6667 || 3-245 | 76.3333 || 6-166 | 81.6667 |+-------+-------------+-- 查询 score 表select * from score;a表+------+-------+--------+| s_no | c_no | degree |+------+-------+--------+| 101 | 3-105 | 90 || 102 | 3-105 | 91 || 103 | 3-105 | 92 || 103 | 3-245 | 86 || 103 | 6-166 | 85 || 104 | 3-105 | 89 || 105 | 3-105 | 88 || 105 | 3-245 | 75 || 105 | 6-166 | 79 || 109 | 3-105 | 76 || 109 | 3-245 | 68 || 109 | 6-166 | 81 |+------+-------+--------+-- 将表 b 作用于表 a 中查询数据-- score a (b): 将表声明为 a (b),-- 如此就能用 a.c_no = b.c_no 作为条件执行查询了 。SELECT * FROM score a WHERE degree < ((SELECT AVG(degree) FROM score b WHERE a.c_no = b.c_no));+------+-------+--------+| s_no | c_no | degree |+------+-------+--------+| 105 | 3-245 | 75 || 105 | 6-166 | 79 || 109 | 3-105 | 76 || 109 | 3-245 | 68 || 109 | 6-166 | 81 |+------+-------+--------+查询所有任课 ( 在 course 表里有课程 ) 教师的 name 和 department。
SELECT name, department FROM teacher WHERE no IN (SELECT t_no FROM course);+--------+-----------------+| name | department |+--------+-----------------+| 李诚 | 计算机系 || 王萍 | 计算机系 || 刘冰 | 电子工程系 || 张旭 | 电子工程系 |+--------+-----------------+查询 student 表中至少有 2 名男生的 class。
-- 查看学生表信息SELECT * FROM student;+-----+-----------+-----+------------+-------+| no | name | sex | birthday | class |+-----+-----------+-----+------------+-------+| 101 | 曾华 | 男 | 1977-09-01 | 95033 || 102 | 匡明 | 男 | 1975-10-02 | 95031 || 103 | 王丽 | 女 | 1976-01-23 | 95033 || 104 | 李军 | 男 | 1976-02-20 | 95033 || 105 | 王芳 | 女 | 1975-02-10 | 95031 || 106 | 陆军 | 男 | 1974-06-03 | 95031 || 107 | 王尼玛 | 男 | 1976-02-20 | 95033 || 108 | 张全蛋 | 男 | 1975-02-10 | 95031 || 109 | 赵铁柱 | 男 | 1974-06-03 | 95031 || 110 | 张飞 | 男 | 1974-06-03 | 95038 |+-----+-----------+-----+------------+-------+-- 只查询性别为男,然后按 class 分组,并限制 class 行大于 1 。select * from student where sex='男'group by classhaving count(class)>=2;+-----+------+-----+------------+-------+| no | name | sex | birthday | class |+-----+------+-----+------------+-------+| 101 | 曾华 | 男 | 1977-09-01 | 95033 || 102 | 匡明 | 男 | 1975-10-02 | 95031 |+-----+------+-----+------------+-------+查询 student 表中不姓 "王" 的同学记录 。
-- NOT: 取反-- LIKE: 模糊查询mysql> SELECT * FROM student WHERE name NOT LIKE '王%';+-----+-----------+-----+------------+-------+| no | name | sex | birthday | class |+-----+-----------+-----+------------+-------+| 101 | 曾华 | 男 | 1977-09-01 | 95033 || 102 | 匡明 | 男 | 1975-10-02 | 95031 || 104 | 李军 | 男 | 1976-02-20 | 95033 || 106 | 陆军 | 男 | 1974-06-03 | 95031 || 108 | 张全蛋 | 男 | 1975-02-10 | 95031 || 109 | 赵铁柱 | 男 | 1974-06-03 | 95031 || 110 | 张飞 | 男 | 1974-06-03 | 95038 |+-----+-----------+-----+------------+-------+
推荐阅读
-
-
老林说车|年销超百万,发布全新银标,让人刮目相看,真正的“国产车企”
-
『食客斋』韭菜花炒拐肉、凉拌毛肚、川式蒜泥白肉这几道家常菜的做法
-
请大神帮忙看看我一周安排的减肥健身计划是不是合理谢谢!
-
这个男人每天喝2公斤的浓茶来缓解睡意结果患上了肾结石
-
【手机之家】华为Eyewear智能眼镜2020春夏新款发布,潮搭你的时尚出街
-
甜野猫|是时候秀一波了,甩掉get和set,Lombok让代码更简洁
-
肝脏▲生姜和它天生一对,贵是贵点,每天喝1杯,排出宿便,补气养生
-
-
梅西|曝巴萨大选黑马提3大计划:5000万续约梅西+留苏牙 再买1亿天王
-
新机发布|Realme Narzo20系列即将发布,存储规格和配色提前曝光!
-
-
#胖次资讯#白菜被子没啥,心仪的耐克鞋过分了!,“笑死人不偿命”的买家秀
-
-
「考研」2020考研学子有多难?名校竞争惨烈,复试分数线400+,英语单科75
-
-
-
-
▲用时四个月完工的新家,家具刚入场就很漂亮,一进门就被迷住!
-
中国人|为什么天下饮料千千万 中国人独爱多喝热水?