数据库

简介: 数据查询的单表查询和连接查询

1数据查询

select (*/查询属性列/计算表达式)         //查询的对象
from  (查询所需表)                    //查询的范围
where                                //查询的条件
group by        
order by                            //对查询结果的处理

1 单表查询

1.选择表中的若干列
1.select Sno,Sname from Student    //查询属性列
2.select *                            //查询所以列
3.select 2014-Sage         //目标表达式是表达式形式                 无列名,需要起别名
4.select lower(Sdept)            //院系属性列在表中用小写表示        无列名,需要起别名

别名:select 属性 as/空格 别名
    select 2014-Sdept birthday
    select 2014-Sdept as birthday
2.选择表中的若干元组

where子句

插叙条件 谓词
比较 =,>,<,>=,<=,!=,!>,!<
确定范围 between and,not between and
确定集合 in,not in
字符匹配 like,not like
空值 is null,is not null
多重条件 and,or,not
select distinct Sno from Student        //distinct (去重)  all(默认)

where Sage<20;
where Sage between 20 and 23;
where Sdept in('CS',"MA");
where Sname like '刘%';      //%任意长度,_一个长度,
where Sname like 'DB\_Design' escape'_';        //escape设置一个换码字符,这个字符后面的转义字符为普通字符
where Grade is null;
where Sdept='CS' and Sage<20;
3.order by 字句
排序字句:ASC(升序),DESC(降序)
order by Grade desc        //按成绩降序排列
4.聚集函数
语句 作用
count(*) 统计元组个数
count (distinct/all 列名) 统计一列多少个
sum (distinct/all 列名) 计算一列值的和(int)
avg (distinct/all 列名) 计算一列值的平均数(int)
max (distinct/all 列名) 求一列中最大值
min (distinct/all 列名) 求一列中最小值
select count(*)
select avg(Grade)
5.group by 字句
group by 属性 :对该属性相同的值分为一组,与having搭配删选使用

MySQL:having能代替where,where不能代替having。SQL server不支持。

select Sno,AVG(Grade)
from SC
group by Sno                //学号相同的为一组
having AVG(Grade)>=90        //删选一组的平均成绩不小于90的

2 连接查询

1.等值与非等值的连接
格式:

表一 . 列 <比较运算符> 表二 . 列 比较运算符:=、>、<、>=、<=、!=

表一 . 列 between 表二 . 列 and 表三 . 列

如果属性名在连接的表中是唯一的,可以省略表名前缀。

在等值连接中把目标列中重复的属性列去掉为自然连接

当比较运算符为==时,为等值连接,其余为非等值连接。

2.自身连接

一个表与自身进行连接。

通常要为该表起两个别名First,Second

where First . Cpon = Second . Cno
3.外连接

把不满足条件的元组也保存在结果中

必须写在form中
select *
from Student left outer join sc on(Student.Sno=SC.Sno);
或
from Student left outer join sc using(Sno);
//USING()函数的作用是简化等值连接语句
4.多表连接

多表连接时一般需要符合条件连接查询

目录
相关文章
|
15天前
|
存储 传感器 监控
数据库的应用
数据库广泛应用于电子商务、物流、酒店管理、医疗、航空、教育、政府和物联网等领域,用于高效存储和管理商品信息、订单数据、医疗记录、航班详情等各类数据,提升效率和服务质量。随着技术进步,其应用场景将持续扩展。
11 1
|
23天前
|
数据库
数据库(二)
数据查询教程包括单表查询操作,如Select语句用于选取属性,可指定列名、使用别名、计算表达式,并通过Distinct去除重复元组。条件查询(Where子句)支持比较运算,如Between、In、Like(支持模糊匹配)及空值判断。连接查询用于合并多表数据,如内连接、外连接和笛卡尔积。例如,通过连接emp和dept表,可获取员工姓名及其所在部门名称。
12 3
|
29天前
|
存储 数据库 数据库管理
什么是数据库
什么是数据库。
12 2
|
9月前
|
数据库
数据库1-3章小总结
数据库1-3章小总结
32 0
|
9月前
|
存储 安全 数据挖掘
数据库视频
数据库视频
75 0
|
9月前
|
SQL 安全 数据库
【数据库视频】总结
【数据库视频】总结
|
9月前
|
存储 SQL 安全
一、如何快速掌握数据库
一、如何快速掌握数据库
87 0
|
9月前
|
存储 消息中间件 NoSQL
数据库常识课
数据库常识课
50 0
|
10月前
|
关系型数据库 MySQL 数据库
|
SQL XML 数据库