选择表中的若干列:

查询指定列

例:查询全体学生的学号与姓名

select Sno,Sname
from Student;

例:查询学生的姓名、学号和所在系

select Sname,Sno,Sdept
frmo Student;

查询全部列

例:查询全体学生的详细记录

select * from Student;

查询经过计算的值

例:查全体学生的姓名和出生年份

select Sname,2022-Sage
from Student;

例:查询全体学生的姓名、出生年份和所在的院系,要求用小写字母表示系名

select Sname,'Year of Birth:',2014-Sage,lower(Sdept)
from Stduent;

使用列别名改变查询结果的列标题

select Sname (as) NAME,'year of birth:' (as) birth,2014-Sage (as)birthday,lower(Sdept) (as)department
from Student

选择表中的若干数组

消除取值重复的行

select distinct Sno
from SC;

查询满足条件的元组

比较:= ,> ,< ,<= ,!=

确定范围:between and ,not between and

确定集合:(not)in

字符匹配:(not)like

空值:is (not)null

逻辑运算:and,or,not

查询计算机科学系全体学生的名单:

select * from Student where Sdept='CS';

查询所有年龄在20岁以下学生姓名及其年龄

select Sname,Sage
from Student
where Sage<20;

查询考试成绩有不及格的学生的学号

select distinct Sno
from SC
where Grade<60;

注意去重

between and

查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄

select Sname,Sdept,Sage
from Student
where Sage between 20 and 23;

查询年龄不再20~23岁之间学生姓名、系别和年龄

select Sname,Sdept,Sage
from Student
where age not between 20 and 23;

in:

查询CS系,MA系,IS系学生的姓名和性别

select Sname,Ssex
from Student
where Sdept in ('CS'.'MA','IS');或
where Sdept='CS' or Sdept='MA' or Sdept='IS'

查询既不是CS系,MA系,也不是IS系的学生的姓名和性别

select Sname,Ssex
from Student
where Sdept not in('IS','MA','CS');

通配符:

%任意多个字符,_匹配一个字符

查询所有刘姓学生姓名、学号和性别

select Sname,Sno,Ssex
from Student
where Sname like '刘%';

查询姓'欧阳'且全名为三个汉字的学生的姓名

select Sname
from Student
where Sname like '欧阳_';

查询名字中第2个字为‘阳’字学生的姓名和学号

select Sname,Sno
from Student
where Sname like '_阳%';

查询所有不姓刘的学生姓名

select Sname
from Student
where Sname not like '刘%';

空值:

查询缺少考试成绩的学生的学号和课程号

select Sno,Cno
from SC
where Grade is null

逻辑运算符:

and 优先级高于OR,可以使用括号改变优先级

例:查询计算机系年龄在20岁以下的学生姓名

select Sname
from Student
where Sdept='CS' and Sage<20;

order by子句:

例:查询选修3号课程的学生的学号及成绩,查询结果按分数降序排序

select Sno,Grade
from SC
where Cno='3'
order by Grade desc;

例:查询全体学生情况,查询结果按所在系号升序排序,同一系中的学生按年龄降序排列。

select *
from Student
order by Sdept,Sage desc;

聚集函数:

count(*)统计元组个数

sum():计算一列值的总和

avg():计算一列值的平均值

max():求一列中最大值

min():求一列中最小值

查询学生总人数:

select count(*)
from Student;

查询选修了课程的学生人数

select count(distinct Sno)
from SC;

计算1号课程的学生平均成绩:

select avg(Grade)
from SC
where Cno='1';

查询选修1号课程的学生最高分数

select max(Grade)
from SC
where Cno='1';

group by:

group  by用于细化聚集函数的作用对象

如果未对查询结果分组,聚集函数将作用于整个查询结果。

对查询结果分组后,聚集函数将分别作用于每个组

按指定的一列或多列值分组,值相等的为一组

例:求各个课程号对应的选课人数

select Cno,count(*)
from SC
group by Cno;

例:查询选修了3门以上课程的学生学号

select Sno
from SC
group by Sno
having count(*)>=3;

having 选择满足条件的组

where作用于表,从中选择满足条件的元组

例:查询平均成绩大于等于90分的学生学号和平均成绩

select Sno,avg(Grade)
from SC
group by Sno
having avg(Grade)>=90

【数据库系统】单表数据查询相关推荐

  1. SQL查询单表数据之组合(三)

    [SQL从一点一滴分析系列文章]为实际开发中的点点滴滴的总结,从最最简单的SQL 查询 到 综合分析查询 在分析 SQL 时,也会同时分析 mybatis .Hibernate 中的相关操作 点击查看 ...

  2. SQL查询单表数据(一)

    [SQL从一点一滴分析系列文章]为实际开发中的点点滴滴的总结,从最最简单的SQL 查询 到 综合分析查询 在分析 SQL 时,也会同时分析 mybatis .Hibernate 中的相关操作 点击查看 ...

  3. MySQL8单表记录多少_mysql学习笔记之8(单表数据记录查询)_mysql

    mysql学习笔记之八(单表数据记录查询) 查询数据记录,就是指从数据库对象中获取所要求的数据记录.mysql中提供了各种不同方式的数据查询方法. 一.简单数据记录查询 select field1,f ...

  4. oracle单表数据量上亿_MySQL数据库中,数据量越来越大,有什么具体的优化方案么?...

    个人的观点,这种大表的优化,不一定上来就要分库分表,因为表一旦被拆分,开发.运维的复杂度会直线上升,而大多数公司和开发人员是欠缺这种能力的. 所以MySQL中几百万甚至小几千万的表,先考虑做单表的优化 ...

  5. 单表数据量过大处理策略

    今天和一个朋友在讨论怎么样应对单表数据量过大,比如一些交易数据,每天都有10W的交易量.没有多久该表的查询,插入速度将变慢,最终将不可用. 对于关系数据库来说,应对单表数据量过大的策略大体上有两种. ...

  6. MySQL单表数据不要超过500万行:是经验数值,还是黄金铁律?

    今天,探讨一个有趣的话题:MySQL 单表数据达到多少时才需要考虑分库分表?有人说 2000 万行,也有人说 500 万行.那么,你觉得这个数值多少才合适呢? 曾经在中国互联网技术圈广为流传着这么一个 ...

  7. 面试官问单表数据量大一定要分库分表吗?我们用六个字和十张图回答

    1 文章概述 在业务发展初期单表完全可以满足业务需求,在阿里巴巴开发手册也建议:单表行数超过500万行或者单表容量超过2GB才推荐进行分库分表,如果预计三年后数据量根本达不到这个级别,请不要在创建表时 ...

  8. AJAX for Java简单表数据查询实例

    AJAX for Java简单表数据查询实例<?XML:NAMESPACE PREFIX = O /> AJAX WebShop 3对Java开发具有良好的支持,同时也提供了各种层次的后台 ...

  9. 由于单表数据已经达到2000万数据,所以想分表,现假如分1000万为一单表,例有如一两个表:

    由于单表数据已经达到2000万数据,所以想分表,现假如分1000万为一单表,例有如一两个表: 表a: id    title 1    张三 2    李四 ............ 表b: id   ...

最新文章

  1. java语言修饰符$_Java语言中的修饰符
  2. Dubbo3.0|阿里巴巴服务框架三位一体的选择与实践
  3. ./sqlplusSP2-0667: Message file sp1lang.msb not found。SP2-0750: You may need to set ORACLE_HOME t
  4. 热胀冷缩,但为什么水结冰体积会膨胀?
  5. elasticsearch date_MySQL数据实时增量同步到Elasticsearch
  6. HDOJ 1036 Average is not Fast Enough!
  7. xulrunner弹出窗口不显示解决方法
  8. 第二十一天 认识一维数组part3
  9. Nginx Unit 与 LEMUR 新架构
  10. 转载:ASP.net页面跳转方式三种
  11. opencv之调取摄像头拍照
  12. 游戏开发关卡设计(16)
  13. F 小名的回答 (奇偶) 湖南师范大学2018年大学生程序设计竞赛新生赛
  14. PHP剧影评系统的设计与实现毕业设计源码140859
  15. Conflux CTO 伍鸣博士出席 2019 CAN 大会
  16. python爬取pexels网站图片
  17. 记录导出微信聊天记录到硬盘的过程
  18. android设置不锁屏adb,如何通过ADB锁定Android屏幕?
  19. 洛谷:P1875 佳佳的魔法药水(有向有环图 + Dijkstra变式)
  20. 好玩的API调用之---星座运势的API与爬虫爬取

热门文章

  1. (一)熟练HTML5+CSS3,每天复习一遍
  2. SortExpression的用法问题
  3. 通信基站防雷接地方案
  4. 心情不好或者问题很难解决就看一看
  5. NET编程简易生成用友财务软件的财务接口数据
  6. 贪婪算法——十大算法
  7. 离线部署python包步骤
  8. 权限管理后端篇(四)之java实现验证码
  9. springmvc之ModelAndView的使用详解
  10. python新年贺卡_python验指导书.docx