数据库(二)

简介: 数据查询教程包括单表查询操作,如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



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

相关文章
|
存储 JSON 监控
可以通过配置Filebeat来将Higress日志持久化到磁盘
【2月更文挑战第10天】可以通过配置Filebeat来将Higress日志持久化到磁盘
691 4
|
数据采集 编解码 运维
PMU
PMU
1812 1
|
3月前
|
人工智能 自然语言处理 供应链
颠覆国货出海!反向海淘技术深度拆解:现状、痛点与千亿增长前景
反向海淘是海外消费者通过平台采购中国商品(淘宝、1688等)并跨境配送的新模式,以高性价比、小众SKU和集运拼单为特色。2025年市场规模超150亿美元,盈利远超传统跨境。技术驱动正推动行业进入自动化、AI化、合规化2.0阶段,API对接、智能清关、多语种AI运营与区块链溯源成核心壁垒。
333 0
|
6月前
|
人工智能 边缘计算 5G
云边端电源设计:一体成型电感选型,别只看感值和电流
本文深度解析云边端设备中一体成型电感的选型要点:聚焦磁粉配方(铁硅铝/铁硅铬/非晶)、压缩密度(≥7.6g/cm³)与磁导率(80–120最优)、热压工艺及扁平线散热设计,并给出留余量、回流焊可靠性、EMI布局三大避坑指南,助硬件工程师夯实电源稳定性。
602 1
|
9月前
|
人工智能 机器人 程序员
去年我用一张Excel表"规划"学习,结果把自己逼进了ICU——直到我学会让AI帮我排兵布阵
本文以作者因"完美计划表"累倒入院的亲身经历切入,分享了一套让AI担任私人学习规划师的完整指令模板。通过"目标拆解""遗忘曲线复习""弹性时间"三大机制,解决目标模糊、复习逃避、计划崩溃等常见学习痛点,并提供上班族、学生、转行者三种典型场景的实战案例。
1088 18
|
9月前
|
机器学习/深度学习 存储 缓存
企业级云服务器怎么选?阿里云服务器九代/八代/倚天实例架构、性能、适用场景及选择参考
本文聚焦企业用户选择阿里云企业级云服务器的核心要点,详细对比了第八代、第九代及倚天系列实例的架构差异与性能优势。第八代c8i、g8i、r8i基于CIPU架构,分别适配机器学习、Web服务、数据分析等场景;第九代c9i、g9i、r9i搭载英特尔至强6处理器,结合AMX矩阵加速技术,提升AI与数据分析效率;倚天系列采用自研倚天710处理器,支持云原生、视频编解码等场景。
926 5
|
9月前
|
人工智能 监控 数据可视化
给大模型“开小灶”:零代码实战专属领域微调,手把手教你打造AI专家
本文介绍如何通过“模型微调”将通用大模型打造成特定领域的专家助手,聚焦Web安全场景,借助LLaMA Factory实现零代码、可视化微调。涵盖微调原理(如LoRA、量化)、全流程操作及效果评估,帮助用户低成本构建专属高性能AI模型。
895 0
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器4核8G配置:ECS实例规格、CPU型号及使用场景说明
阿里云4核8G服务器ECS提供多种实例规格,如高主频计算型hfc8i、计算型c8i、通用算力型u1、经济型e等。各规格基于不同CPU型号与主频性能设计,适用于机器学习、数据分析、游戏服务器、网站应用等多种场景。用户可根据实际需求选择适合的配置,满足高性能计算或经济性要求。更多详情及参数说明可参考官方文档。
1651 4
|
消息中间件 供应链 JavaScript
如何开发供应商管理系统中的质量协同板块(附架构图+流程图+代码参考)
供应商管理系统中的质量协同板块,连接采购、质检与供应商,实现来料检验、退货处理与问题改善的数字化协作。通过“来料检验单”、“采购退货单”和“8D改善报告”三大实体,详解功能设计、业务流程及开发实现,助力企业提升供应链稳定性与质量管理水平。
|
云安全 弹性计算 安全
阿里云《安全管控控制台》测评报告
阿里云阿里云安全管控控制台致力于帮助用户及时发现并解决潜在的安全问题,提升云上安全水平。
438 6

热门文章

最新文章