博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL学习——基础语句(3)
阅读量:6038 次
发布时间:2019-06-20

本文共 927 字,大约阅读时间需要 3 分钟。

先上数据表

  student表

  

  grade 表

  

SQL Union 语句

  合并两个或多个select查询结果集。

  select s_id from student union select  s_id from grade 

  select s_name from student union select  s_id from grade 

  结果集如下:

  

 

SQL group by 语句

 

  group by 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。

  如查找grade表 s_id 下学科的分数和。eg:Select  s_id,sum(gradeValue) as nums  from grade group by s_id

  

练习:查询grade表下,不同的course下,对应的gradeValue都大于80的结果集,然后根据这个s_id,通过表student 得到s_name

  思路:以s_id 分组查找,然后条件查找大于80的。

  select s_id  from grade group by s_id  having min(gradeValue)>80  

  //  或者

   select s_id  from grade  group by s_id having gradeValue>80

 

  {having 自己看前面的  min()限制最小}

  结果:

 

  然后在需要根据这个s_id 查找s_name,那么只需要嵌套下就ok了。

  select s_id, s_name  from student where s_id in ( select grade.[s_id] from grade 

   group by s_id having min(grade.[gradeValue])>80)

  这里用了,in关键字,还记得和=的差别,in可以查找符合这个in()里面value的都可以找到,如果用=了只能查到一个了……

  结果如图:

  

 

 

 

  

 

转载于:https://www.cnblogs.com/galibujianbusana/p/6641134.html

你可能感兴趣的文章
CSS: Flexbox
查看>>
Python学习
查看>>
Java并发_volatile实现可见性但不保证原子性
查看>>
百度地图添加带数字标注
查看>>
【luogu 1908】逆序对
查看>>
pthread_create线程创建的过程剖析(转)
查看>>
android存储访问框架Storage Access Framework
查看>>
周总结
查看>>
Spring Boot 要点--启动类和热部署
查看>>
Maven配置及本地仓库设置
查看>>
PAT L2-001 紧急救援 —— (多参数最短路)
查看>>
JDK(java se development kit)的构成
查看>>
数据库的备份与恢复
查看>>
Android示例程序剖析之记事本(一)
查看>>
为什么英雄难过美人关?
查看>>
poj 3009 Curling 2.0
查看>>
Tomcat7安装配置 for Ubuntu
查看>>
Linux:命令执行控制&&与||
查看>>
麻球繁衍
查看>>
FreeRTOS栈溢出检查
查看>>