我爱SQL之数据查询
一、语法结构
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之数据查询相关推荐
- SQL语言 --- 数据查询
数据查询 一.单表查询(查询仅涉及一个表) 1.选择表中的若干列 2.选择表中的若干元组 3.ORDER BY子句 4.聚集函数 5.GROUP BY子句 二.连接查询 1.等值与非等值连接查询 2. ...
- SQL Server 数据查询 ②
5.GROUP BY语句 GROUP BY子句将查询结果按某一列或多列的值分组,值相等的为一组 例 求各个课程号及相应的选课人数 select cno,count(sno) from sc group ...
- 查询计算机科学系全体学生的名单,SQL Server数据查询
准备工作 预先准备所用到的表 1.学生表 students 2.课程表 course 3.学生选课表 单表查询 查询的语句一般为 select //(distinct) 目标列表达式 from //表 ...
- SQL Server 数据查询 ①
准备工作 预先准备所用到的表 1.学生表 students 2.课程表 course 3.学生选课表 单表查询 查询的语句一般为 select //(distinct) 目标列表达式 from //表 ...
- 开源大数据查询分析引擎
引言 大数据查询分析是云计算中核心问题之一,自从Google在2006年之前的几篇论文奠定云计算领域基础,尤其是GFS.Map-Reduce.Bigtable被称为云计算底层技术三大基石.GFS.Ma ...
- 数据库系统(一)——数据查询
文章目录 一.实验目的: 二.实验内容: 三.实验过程: 1.创建学生课程数据库 (stu_course): 2.学生表.课程表和学生选课表的创建和修改: 2.1.创建数据表: 2.2.修改数据表: ...
- 全方位测评Hive、SparkSQL、Presto 等七个大数据查询引擎,最快的竟是……| 程序员硬核测评...
现在大数据组件非常多,众说不一,那么每个企业在不同的使用场景里究竟应该使用哪个引擎呢?易观Spark实战营团队选取了Hive.SparkSQL.Presto.Impala.HAWQ.ClickHous ...
- SQL操作的组成部分-数据查询
数据查询 SQL是一种查询功能很强的语言,只要是数据库存在的数据,总能通过适当的方法将它从数据库中查找出来.SQL中的查询语句只有一个:SELECT,它可与其它语句配合完成所有的查询功能.SELECT ...
- 使用hibernate的this.getSession().createSQLQuery(sql).list();方法查询数据时出现查到的数据和想象的不一致,很是郁闷,诡异...
今天 使用hibernate的this.getSession().createSQLQuery(sql).list();方法查询数据时出现查到的数据和想象的不一致的问题,郁闷我很长一段时间 执行的方法 ...
最新文章
- 分布式,集中式,云原生存储技术
- 为何信标无线充电总是烧板子?
- RabbitMQ-从基础到实战(3)— 消息的交换(上)
- 【ESP8266】NONOS SDK开发,串口发送、接收与中断
- js时间戳转成日期格式
- linux连接oracle数据库中文显示乱码
- poj 3167(KMP+树状数组)
- php rewrite重写,yaf 自定义重写路由rewrite
- 转:c# 安装包制作
- dreamweaver 正则表达式为属性值加上双引号_IT兄弟连 HTML5教程 HTML5表单 新增的表单属性3...
- LibXML2不支持中文补遗
- php 除数 保留两位小数,c语言除法怎么保留小数
- 计算机频率原理,频率计数器的工作原理和发展
- 计算机行显示性能调整,win7系统怎么调节为最佳性能模式-win7性能,win7运行速度提高90%...
- Apache Geronimo 监控
- 第四届“橙瓜网络文学奖”暨见证·网络文学20年评选各类型十佳大神入围名单
- notepad++如何安装compare插件
- Whistle安装及使用指南
- 国产单片机GD32系列开坑,带你零死角玩转GD32 第二章
- 2023年国产CRM客户管理系统软件排名
热门文章
- Windows_PC端微信双开/多开方法汇总(不改软件和插件,批处理)[微信技术教程]
- python改文件名方法,python改文件名的方法
- 使用OpenSSL生成自己服务器的证书
- 象棋芯片植入_今日科技话题:第四代煤炭地下气化技术、中耳演化新模式、“雪龙2”号、植入式磁共振探测器、棋牌游戏、糖尿病脂肪肝...
- 工程伦理(2021春)第二章课后习题答案
- 【CF 732E】Sockets(优先队列+贪心)
- 蓝桥杯2020年填空题既约分数
- NC6报销单外部交换平台报错“表头总金额与财务页签金额合计不一致“
- “区块链+”的真实场景数据:月活800万是极端个例 整体规模尚小
- Android霓虹灯文字控件