数据库(二)

简介: 数据查询教程包括单表查询操作,如Select语句用于选取属性,可指定列名、使用别名、计算表达式,并通过Distinct去除重复元组。条件查询(Where子句)支持比较运算,如Between、In、Like(支持模糊匹配)及空值判断。连接查询用于合并多表数据,如内连接、外连接和笛卡尔积。例如,通过连接emp和dept表,可获取员工姓名及其所在部门名称。


数据查询

单表查询

  1. 对属性操作

Select后可以写属性名、常数、函数以及他们组成的表达式,除此之外还可以给属性名重命名以及星号和distinct。

Select相当于关系代数的投影运算

  1. 查询表中所有属性

select * from emp

  1. 查询每个员工的编号和姓名

属性的显示顺序与select后的属性列表顺序一致

Select id, name from emp

  1. 查询每个员工的编号和姓名、年工资

Select id, name,salary * 12 from emp

修改查询结果中的列名:在属性后用空格隔开直接定义属性名或者用as隔开

Select id, name,salary * 12  as year_sal from emp

  1. 查询每个员工的编号和姓名、年工资以及年收入

年收入=年工资*(1+提成)

Select id, name, salary * 12  as year_sal , salary * 12 * (1+comm_pct*0.01)

from emp

凡是null参与的运算结果仍未null

空值函数(A,B):如果A为空则函数返回B值,否则返回A值

ifnull(A,B)    

Select id, name, salary * 12  as year_sal , salary * 12 * (1+ifnull(comm_pct,0)*0.01)

  1. 查询每个员工的职位

Select title From emp

  1. 查询员工的职位种类

Distinct:用于去除查询结果中的重复元组,写在select之后属性列表之前

Select distinct title from emp;

  1. 查询每个员工的编号和职位

Select distinct id, title from emp

Select distinct id, distinct title from emp;--错误

  1. 对行的操作(条件查询)

Where—相当于关系代数中选择运算

Where 条件表达式,写在from之后

Where不能使用属性别名

在查询条件中属性尽量不要写在表达式中

  1. 查询1号员工

Select * From emp

Where id = 1;

  1. 工资大于1000的员工

Select * From emp

Where salary > 1000;

  1. 年工资大于12000的员工

选择先做

Select id, name,salary * 12  as year_sal from emp

Where year_sal > 12000;

  1. 查询工资在1000到2000之间的

否定形式 not between and

属性名Between A and B ->

属性 >= A and 属性 <=B

Select * From emp

Where salary between 1000 and 2000;

  1. 在1,3,5,7部门工作的员工

属性名  In (A,B,C……)->

属性 = A or 属性 = B or 属性 = C ……

否定形式:not in

Select * From emp

Where dept_id in(1,3,5,7)

  1. 模糊查询

否定形式:Not like

Like 用于字符串比较

%:任意长度的任意字符

_:任意一个字符

Name = ‘张三’

姓张同学: 张%

姓张的三个字的同学: 张__

名字中有张的: %张%

带Escape的like

带带正则表达式的like

Select * From emp

Where name like ‘A%’

  1. 查询没有提成的员工

Select * From emp

Where comm_pct is null;

  1. 查询有提成的员工

Select * From emp

Where comm_pct is not null;

连接查询

1.每个员工姓名及其所在部门的名称

select name,name from emp,dept ×

select emp.name,dept.name from emp,dept ×

select emp.name,dept.name from emp,dept

where emp.dept_id = dept.id --表连接条件

连接条件至少是表的个数减1个


2.每个部门的名称及其所在区域的名称

select dept.name,region.name from dept,region

where dept.regio_id = region.id

3.每个员工名字及其所在的城市

select epm.name,region.city from emp,region,dept

where emp.dept.id = dept.id and dept.region_id = region_id


表的别名:在from子句中表名后空格隔开直接定义表的别名。当给表定义别名后再访问该表时必须使用其别名


select e.name,r.city from emp e,region e,dept d

where e.dept.id = d.id and d.region_id = region_id


4.不等值连接:

select e.id,e.name,s.grade

from emp e,salgrade s

where e.salary >= s.lowsal and s.salary <=s.higsal

5.自然连接 natural join

select * from A表 natural join B表

6.笛卡尔积

cross join



外连接: 用于显示悬浮元组

相关文章
|
10月前
|
关系型数据库 Linux BI
数据库的一些知识
数据库的一些知识
37 0
|
12月前
|
存储 SQL 数据库
数据库—耿建玲视频总结(三)
其实这章很是简单的,索引(编号),其中讲解了索引的优缺点;以及都有什么类别的索引,最后就是如何建立。
|
11月前
|
存储 监控 数据处理
数据库
5.6.1 广播幻灯片 PowerPoint 2010新增了“广播幻灯片”功能,使得用户能够与任何人在任何位置轻松共享演示文稿。 打开要共享的演示文稿,切换到“幻灯片放映”选项卡,单击“广播幻灯片”按钮,将弹出“广播幻灯片”对话框 5.6.2 演示文稿的网上发布 用户可以将制作好的演示文稿发布到Web,这样用户和访问群体只要连接到Web,就可以对演示文稿进行查看和编辑。 第六部分 数据库技术与Access 2010 6.1.1 数据库的基本概念 1.数据 数据是指存储在某一种媒体上能够识别的物理符号 2.数据处理 数据处理是指对各种形式的数据进行收集、存储、加工和传播的一系列活动的总
|
11月前
|
存储 SQL NoSQL
(一)数据库介绍
(一)数据库介绍
153 0
|
SQL 数据库
【数据库视频】总结
【数据库视频】总结
73 0
【数据库视频】总结
|
存储 SQL 安全
一、如何快速掌握数据库
一、如何快速掌握数据库
104 0
|
SQL 数据库
数据库知识与技巧日常汇总
数据库知识与技巧日常汇总
87 0
|
SQL 关系型数据库 Linux
一日一技:这个数据库用起来刚刚好
一日一技:这个数据库用起来刚刚好
132 0
|
存储 NoSQL Oracle
2023,不一样的数据库
2022也是NineData技术团队创业完整的第一年,团队、产品和技术都突飞猛进,特别感谢所有支持我们的朋友(客户、老朋友、投资人和业务伙伴),也结识了很多创业的前辈,向各位学习。作为数据领域20年的从业者,曾负责过阿里云数据库产品的整体规划,经历了不一样的2022,想谈谈2023年可能会不一样的数据库。
288 0
2023,不一样的数据库
|
SQL 存储 XML
一、初识数据库
将大量数据保存起来,使用计算机加工而成的可以进行高效访问的数据集合。称为database,DB。 用来管理数据库的计算机系统称为DBMS