一、语法结构

select [ , ]     from 表名
where 条件查询
group by 分组
having 分组条件
order by 排序
limit 限制输出

二、select语法结构的基本子句

        1、select子句:用于指定返回的列

*                   通配符,返回所有列的值

all                显示所有的行,包括重复行

distinct        消除重复行

列名            指定返回结果的列,多列用逗号隔开

# 使用通配符
select * from student;#使用distinct消除重复行
select distinct id from student;#使用as定义查询列的别名
select count(*) as ‘男生人数’ form student where sex =‘男’;#查询特定的列
select id,name from student;

      2、where子句

        指定查询的条件,where必须紧跟在from子句后面!!

#查询生日在1999-01到2000-05之间的学生
select * from student where birth between ‘1999-01’ and ‘2000-05’;#查询学号为001或005的学生
select * from student where id in ('001','005');

  3、group by子句

根据字段进行分组统计,将同类分组汇总成一行。

若指定为多列分组,则先按照指定的第一列进行分组在对指定的第二列进行分组。

#求选秀的各门课程的平均成绩和选秀该课程的人数
select kc,avg(cj)as ‘平均成绩’,count(kc)as ‘选修人数’
from score group by kc;

    4、having子句

用在group by后面选择行。

#选修1门以上课程学生的学号
select id form score
group by kc
having count(kc) > 1;

        5、order by子句

按照一定顺序排序。asc为升序(默认),desc降序

#按照成绩降序排列出选修1课程的学生学号成绩
select id,cj form score where kc = ‘1’
order by cj desc;

6、limit子句

限制被select语句返回的行数

#查询课程号为001成绩前五的学生学号和成绩
select id,cj from student where kc = ‘001’
order by cj desc limit 5;

三、聚合函数

常见聚合函数 功能
sum() 计算某列值得总和
count() 计算某列值得个数
avg() 计算某列值的平均数
max() 计算某列值的最大值
min() 计算某列值的最小值
variance() 计算特定的表达式的左右值的方差

需要注意的是上面所有的聚合函数都不把空值所在行计算在内,只对列中的非空值进行计算。

四、多表联合查询

    1、全连接

连接方式将各张表用逗号分隔,用where子句设定条件进行等值连接

语法格式:
select 表名.列名,表名.列名…… from 表1,表2  where 连接条件# 查找学生选过的课程名和课程号
select distinct course.c_no,course.c_name from course,score
where course.c_no = score.c_no;

  2、join连接

1、内连接 inner join
select t_name,c_name
from teachers inner join teach on teachers.t_no = teach.t_no
inner join course on teach.c_no = course.c_no2、外连接 outer join
又分为左连接left outer join 和右连接 right outer join

五、嵌套查询

1、嵌套在where子句中

查询信息学院的学生信息
select * from student where
xy = (select xy from school where xy = '信息学院‘;2、嵌套在form中
从student表中查询成绩在80-90之的学生
select s_no,c_no,report
from (select s_np,c_no.report
from score
where score >80 and score <90) as stu;

六、联合查询

union 联合查询
连接查询1990302 和1990303学生的信息
select s_no as 学号,s_name as 姓名
from student
where s_no = 1990302
union
select s_no as 学号,s_name as 姓名
from student
where s_no = 1990303

我爱SQL之数据查询相关推荐

  1. SQL语言 --- 数据查询

    数据查询 一.单表查询(查询仅涉及一个表) 1.选择表中的若干列 2.选择表中的若干元组 3.ORDER BY子句 4.聚集函数 5.GROUP BY子句 二.连接查询 1.等值与非等值连接查询 2. ...

  2. SQL Server 数据查询 ②

    5.GROUP BY语句 GROUP BY子句将查询结果按某一列或多列的值分组,值相等的为一组 例 求各个课程号及相应的选课人数 select cno,count(sno) from sc group ...

  3. 查询计算机科学系全体学生的名单,SQL Server数据查询

    准备工作 预先准备所用到的表 1.学生表 students 2.课程表 course 3.学生选课表 单表查询 查询的语句一般为 select //(distinct) 目标列表达式 from //表 ...

  4. SQL Server 数据查询 ①

    准备工作 预先准备所用到的表 1.学生表 students 2.课程表 course 3.学生选课表 单表查询 查询的语句一般为 select //(distinct) 目标列表达式 from //表 ...

  5. 开源大数据查询分析引擎

    引言 大数据查询分析是云计算中核心问题之一,自从Google在2006年之前的几篇论文奠定云计算领域基础,尤其是GFS.Map-Reduce.Bigtable被称为云计算底层技术三大基石.GFS.Ma ...

  6. 数据库系统(一)——数据查询

    文章目录 一.实验目的: 二.实验内容: 三.实验过程: 1.创建学生课程数据库 (stu_course): 2.学生表.课程表和学生选课表的创建和修改: 2.1.创建数据表: 2.2.修改数据表: ...

  7. 全方位测评Hive、SparkSQL、Presto 等七个大数据查询引擎,最快的竟是……| 程序员硬核测评...

    现在大数据组件非常多,众说不一,那么每个企业在不同的使用场景里究竟应该使用哪个引擎呢?易观Spark实战营团队选取了Hive.SparkSQL.Presto.Impala.HAWQ.ClickHous ...

  8. SQL操作的组成部分-数据查询

    数据查询 SQL是一种查询功能很强的语言,只要是数据库存在的数据,总能通过适当的方法将它从数据库中查找出来.SQL中的查询语句只有一个:SELECT,它可与其它语句配合完成所有的查询功能.SELECT ...

  9. 使用hibernate的this.getSession().createSQLQuery(sql).list();方法查询数据时出现查到的数据和想象的不一致,很是郁闷,诡异...

    今天 使用hibernate的this.getSession().createSQLQuery(sql).list();方法查询数据时出现查到的数据和想象的不一致的问题,郁闷我很长一段时间 执行的方法 ...

最新文章

  1. 分布式,集中式,云原生存储技术
  2. 为何信标无线充电总是烧板子?
  3. RabbitMQ-从基础到实战(3)— 消息的交换(上)
  4. 【ESP8266】NONOS SDK开发,串口发送、接收与中断
  5. js时间戳转成日期格式
  6. linux连接oracle数据库中文显示乱码
  7. poj 3167(KMP+树状数组)
  8. php rewrite重写,yaf 自定义重写路由rewrite
  9. 转:c# 安装包制作
  10. dreamweaver 正则表达式为属性值加上双引号_IT兄弟连 HTML5教程 HTML5表单 新增的表单属性3...
  11. LibXML2不支持中文补遗
  12. php 除数 保留两位小数,c语言除法怎么保留小数
  13. 计算机频率原理,频率计数器的工作原理和发展
  14. 计算机行显示性能调整,win7系统怎么调节为最佳性能模式-win7性能,win7运行速度提高90%...
  15. Apache Geronimo 监控
  16. 第四届“橙瓜网络文学奖”暨见证·网络文学20年评选各类型十佳大神入围名单
  17. notepad++如何安装compare插件
  18. Whistle安装及使用指南
  19. 国产单片机GD32系列开坑,带你零死角玩转GD32 第二章
  20. 2023年国产CRM客户管理系统软件排名

热门文章

  1. Windows_PC端微信双开/多开方法汇总(不改软件和插件,批处理)[微信技术教程]
  2. python改文件名方法,python改文件名的方法
  3. 使用OpenSSL生成自己服务器的证书
  4. 象棋芯片植入_今日科技话题:第四代煤炭地下气化技术、中耳演化新模式、“雪龙2”号、植入式磁共振探测器、棋牌游戏、糖尿病脂肪肝...
  5. 工程伦理(2021春)第二章课后习题答案
  6. 【CF 732E】Sockets(优先队列+贪心)
  7. 蓝桥杯2020年填空题既约分数
  8. NC6报销单外部交换平台报错“表头总金额与财务页签金额合计不一致“
  9. “区块链+”的真实场景数据:月活800万是极端个例 整体规模尚小
  10. Android霓虹灯文字控件