开发者社区> 游客ibn5k4fkeepui> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

数据库

简介: 数据查询的单表查询和连接查询
+关注继续查看

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.多表连接

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
数据库事务
BEGIN TRAN标记事务开始 COMMIT TRAN 提交事务 ROLLBACK TRAN回滚事务 一般把DML语句(select ,delete,update,insert语句)放在BEGIN TRAN...COMMIT TRAN 之间作为一个事务处理 也就是那些语句执行过程中如果遇到错误,无论哪句遇到错误,所有语句都会回滚到BEGIN TRAN之前的状态。
581 0
数据库访问
数据库访问
1614 0
元数据
元数据概述:元数据是一种二进制信息,用以对存储在公共语言运行库可移植可执行文件 (PE) 文件或存储在内存中的程序进行描述。将您的代码编译为 PE 文件时,便会将元数据插入到该文件的一部分中,而将代码转换为 Microsoft 中间语言 (MSIL) 并将其插入到该文件的另一部分中。
467 0
数据库
数据定义以及数据查询
0 0
数据库
数据更新、视图
0 0
数据库
数据库安全性
0 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
数据库2025 V3
立即下载
为什么PostgreSQL是最适合去O的数据库
立即下载
数据库异地备份及不还原快速查询备份集最佳实践
立即下载