数据查询(一)

原创 2016年05月31日 21:12:32

一.单表查询

1.查询全体学生的学号和姓名

select Sno,Sname
from Student;

2.查询全体学生的详细信息

select* from student;

3.查询全体学生的学生姓名及其出生年份

select Sname,2016 - Sage birth  //换了个名字
from student;

4.查询了选修了课程的学生号

select distinct Sno from SC;//distinct是为了消去重复元组,因为有学生不止选了一门课

5.查询计算机系全体学生的名单

select Sname
from Student
where Sdept = 'CS';

6.查询所有年龄在20岁以下的学生姓名

select Sname
from student
where Sage < 20;

7.查询年龄在20-30岁之间的学生的姓名

select Sname
from student
where Sage between 20 and 30;
/*如果是不在,则改为
 *where Sage not between 20 and 30;
 */

字符匹配

谓词like用于进行字符串的匹配,其一般语法格式为

[not] like '<匹配串>' [escape '<换码字符>']

8.查询所有姓刘的学生的姓名、性别

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

9.查询姓欧阳且名字只有三个汉字的学生姓名

select Sname
from student
where Sname like '欧阳%__';//一个汉字占两个字符

10.查询选修了DB_design课程的学生的姓名

select Sname
from student
where Sname like 'DB\_design' escape '\';

带空值的查询

11.查询所有有成绩的学生的学号和课程名

select Sno,Sname
from SC,Cno
where Grade is not null;

多重条件查询

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

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

Order by子句

13.查询选修了3号课程的学生的学号及成绩,查询结果按分数的降序排列

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

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

select*
from student
order by Sdept,Sage desc;

聚集函数

  • count([distinct|all] *) 统计元组个数
  • count([distinct|all]<列名>) 统计一列中值的个数
  • sum([distinct|all]<列名>)计算一列值的总和
  • avg([distinct]|all<列名>)计算一列值的平均值
  • max([distinct]|all<列名>)求一列值的最大值
  • min([distinct]|all<列名>)求一列值的最小值

15.查询学生总人数

select count(*)
from student;

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

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

17.查询学生2014213000选修课程的总学分数

select sum(Ccredit)
from SC,Course
where Sno = '2014213000' and Course.Sno = SC.Sno;

group by子句

group by子句将查询结果按某一列或多列的值分组,值相等的为一组。
18.求各个课程号及其相应的选课人数

select Sno
from SC
group by Cno;

19.查询选修了3门以上课程的学生学号

select Sno
from SC
group by Cno
having count(*) > 3; 
版权声明:本文为博主原创文章,未经博主允许不得转载。

数据查询(一)

                                        数据查询       数据查询数据检索的选择查询(SELECT query)数据更新的行为查询(ACTION query...
  • wuqinglianga
  • wuqinglianga
  • 2008年10月09日 09:45
  • 229

SQL第九章数据查询基础上机题1-4

//查询学生相关基本信息 SELECT * FROM Student WHERE GradeId=1 SELECT StudentName,Phone FROM Student WHERE Gra...
  • qq_36074113
  • qq_36074113
  • 2016年11月22日 17:18
  • 411

MySQL 数据库 分页查询

在使用MySQL 进行数据库分页查询的时候最主要是使用LIMIT子句进行查询: 首先来看一下LIMIT: LIMIT子句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数,如果给出两...
  • qq_36090419
  • qq_36090419
  • 2017年04月23日 13:56
  • 196

MySQL 如何准备一亿条记录的表来测试

曾经一个朋友问我如何快速的在线往一个大表里面添加一个字段或者修改一个字段的长度,mysql版本是5.6,所以就准备在测试环境准备一个一亿条记录的表,然后来实际测试下到底哪种方式比较快,先来开始准备一亿...
  • mchdba
  • mchdba
  • 2016年10月26日 20:51
  • 2706

Mysql---数据查询(一)

在进行数据查询操作前,我们需要建立三张表,如下: 1.建立学生表: CREATE TABLE student ( Sno VARCHAR(7) PRIMARY KEY, Sname VAR...
  • lanzhihui_10086
  • lanzhihui_10086
  • 2015年03月14日 15:31
  • 478

第四课 MongoDB 数据查询(一)

1.课程大纲            本课程主要讲解MongoDB 数据查询相关的内容,包括find函数的介绍及使用、查询操作符的介绍及使用、内嵌文档查询以及数组查询等内容。           ...
  • Crazy__Programmer
  • Crazy__Programmer
  • 2015年09月06日 14:03
  • 707

跟我学SQL:(一)数据查询

且不说你是否正在从事编程方面的工作或者不打算学习SQL,可事实上几乎每一位开发者最终都会遭遇它。你多半还用不着负责创建和维持某个数据库,但你怎么着也该知道以下的一些有关的SQL知识。我为那些感兴趣的开...
  • zaowei21
  • zaowei21
  • 2007年05月15日 11:58
  • 386

SQL的数据查询(一)

Student表 Course表 SC表 1.选择表中的若干列(1)查询指定的列 eg:查询全体学生的学号,姓名和所在系的有关信息 select Sno,Sname,Sdept from...
  • yongchaocsdn
  • yongchaocsdn
  • 2017年04月10日 14:10
  • 380

HQL数据查询基础(一)

源自 imooc 的学习 什么是HQL呢? HQL 是Hibernate Query Language,Hibernate查询语言;同时HQL是一种面向对象的查询语言,HQL查询的主体是映射配置的持...
  • qq_15096707
  • qq_15096707
  • 2016年05月20日 08:23
  • 1371

海量数据查询的一些关键技术

MPP架构,数据并行化处理 垂直切分,列式存储,列存储只需要将需要查询的数据列load到内存即可,且列式存储压缩比很高,例如bigtable/hbase等列族数据存储、dremel/impala的...
  • load2006
  • load2006
  • 2016年09月27日 00:31
  • 1176
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数据查询(一)
举报原因:
原因补充:

(最多只允许输入30个字)