前言

数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。

数据库常见概念

DB

概念:
数据库,保存一组有组织的数据容器。
优点:

  • 实现数据持久化。
  • 使用完整的管理系统统一管理,易于查询。

特点:

  • 将数据放到表中,表再放到库中。
  • 一个数据库可以有多个表,每个表都有一个名字,用来标识自己;表名具有唯一性。
  • 表具有一些特性,这些特性定义了数据在表中如何存储,类似 java 中“类”的设计
  • 表由列组成,我们也称为‘字段’。所以表都是由一个或者多个列组成的,每一列类似于 java 中的“属性”
  • 表中的数据是按行存储的,每一行类似于 java 中的“对象”。

DBMS

概念:
数据库管理系统,又称数据库软件(产品),用于管理DB中的数据
常见的数据管理系统:mysql、oracle、db2、sqlserver

SQL

概念:
结构化查询语言,用于和DBMS通信的语言,不是某个数据库软件特有的,而是所有的主流数据库软件通用的语言

连接查询

按年份分类:
sql92:

  • 等值连接
  • 非等值连接
  • 自连接

sql99:

  • 内连接
    - 等值连接
    - 非等值连接
    - 自连接
  • 外连接
    -左外连接
    -右外连接
  • 交叉连接

子查询

含义:嵌套在其他语句内部的select语句称为子查询或内查询

外面的语句可以是:insert、update、delete、select等,一般select作为外面语句较多
外面如果为select语句,则此语句称为外查询或主查询

分类
按出现的位置分类:

  • select后面:仅仅支持标量子查询
  • from后面:表子查询
  • where 或 having 后面:标量子查询、列子查询、行子查询
  • exists后面:标量子查询、列子查询、行子查询、表子查询

按结果集分类:

  • 标量子查询(单行子查询):结果集为一行一列
  • 列子查询(多行子查询):结果集为多行一列
  • 行子查询:结果集为多行多列
  • 表子查询:结果集为多行多列(任意)

案例

这是力扣中的数据库中的一道例题
Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id。

Department 表包含公司所有部门的信息。

编写一个 SQL 查询,找出每个部门工资最高的员工。对于上述表,您的 SQL 查询应返回以下行(行的顺序无关紧要)。

解题思路:
①求出每个部门对应的最高工资和部门编号

select max(Salary),DepartmentIdfrom Employee group by DepartmentId

②内连接两表并进行筛选

# Write your MySQL query statement below
select d.Name Department,e.Name Employee,e.Salary Salary
from Employee e, Department d
where e.DepartmentId=d.Id
and (e.Salary,e.DepartmentId) IN (select max(Salary),DepartmentIdfrom Employee group by DepartmentId
);

运行结果如下:

数据库——(DB、DBMS、SQL)相关推荐

  1. DB DBMS SQL 分别是什么?

    DB DBMS SQL 分别是什么? DB: DataBase(数据库,数据库实际上在硬盘上以文件的形式存在) DBMS: DataBase Management System(数据库管理系统,常见的 ...

  2. 数据库 DB database SQL DBMS

    数据库 DB   database 用来管理数据库的计算机管理系统称为,数据库管理系统   DBMS    database management system 为啥专用系统来管理数据 1无法多人共享 ...

  3. 大数据_数据库(DBMS、DB、SQL )

    目录 开篇 一.数据库 1.数据库(通常概念) 1.1 数据库简介 1.2 数据库的好处 1.3 数据库相关概念 2.DBMS数据库管理系统概述 2.1 具体概念 2.2 DBMS根据数据的保存格式( ...

  4. 04--MySQL自学教程:数据库MySQL--【数据库DB】和【数据库管理系统DBMS】简介

    1.数据库DB 数据库:DB(DataBase) 按照一定规则存储在计算机的内部存储设备上被各种用户或者应用共享的数据集合 2.数据库管理系统DBMS 1)数据库管理系统DBMS:DBMS(DataB ...

  5. 【数据库】数据库的四个基本概念Data DB DBMS DBS

    数据 Data 一.数据的定义: 数据(Data) 是数据库中存储的基本对象. 数据库 DB 一.数据库的定义: 数据库(Database,DB) 数据库是长期储存在计算机内,有组织.可共享.大量的数 ...

  6. db,dbms,dba_DBMS中的数据库管理员(DBA)

    db,dbms,dba 数据库管理员(DBA) (Database Administrator (DBA)) To use the Database Management System, it is ...

  7. 01数据库、DBMS和SQL

    数据库.DBMS和SQL 数据库是数据的集合,它由一个或多个表组成.每一个表中都存储了对一类对象的数据描述,一个典型的表如表10.1所示.表的每一列描述了对象的一个属性,如姓名.出生年月等,而表的每一 ...

  8. 数据库之区分DB\DBMS\DBS

    1.什么是DB.DBMS.DBS?三者的全称和中文意思,三者的区别与联系,相互之间的包含关系? 答: DB.DBS.DBMS三者的关系是DBS(数据库系统)包括DB(数据库)和DBMS(数据库管理系统 ...

  9. 软件创新实验室:MySQL数据库与简单SQL语句使用

    文章目录 前言 简介 特点 SQL DDL:操作数据库.表 DML:增删改表中数据 DQL:查询表中的记录 后记 拓展 范式 第一范式 1NF 第二范式 2NF 第三范式 3NF B+树 节点结构 插 ...

  10. 学习随笔---数据库管理系统DBMS

    一.数据库管理系统DBMS是什么 是一种操纵和管理数据库信息的大型管理软件,用于建立,使用和维护数据库. 按数据库存储结构方式可以分为:关系数据库管理系统和非关系数据库管理系统. 二.数据库DB是什么 ...

最新文章

  1. 15道谷歌面试题及答案
  2. 用户态程序调用系统态程序-快速系统调用
  3. 为什么多数企业选择托管SD-WAN,而不是自行组建?—Vecloud微云
  4. 、简述global关键字的作用_详解static inline关键字
  5. 利用VIM为源码添加行号
  6. 真格量化——菜粕策略
  7. 华为鸿蒙系统游戏体验,华为鸿蒙系统首发体验,游戏加载比安卓快60%,全面苹果挑战iOS...
  8. python判断linux中文件是否存在_linux shell 中判断文件、目录是否存在的方法
  9. 汉威电子持续发力智慧城市产业链
  10. C++之STL种类及实现
  11. 到底什么方法 训练1000个样本,就能完成400万条评论分类!
  12. MongoDb学习(四)--Repository
  13. 【随笔】我的两年 ACM 回(心)忆(酸)录(路) 【多图预警】
  14. 求两个数的最大公因数与最小公倍数
  15. Black Hat 2017:不容错过的七大主题演讲
  16. QT实现Qt3D材质系统加载PBR材料
  17. 基于Java毕业设计弹幕视频网站源码+系统+mysql+lw文档+部署软件
  18. 重大利好消息!有PMP和NPDP证书的同学看过来!
  19. CG快报 2011.11.22
  20. JavaEE学习笔记整理

热门文章

  1. 谁能给个orkut邀请啊~~
  2. tf2常用数据类型与常用函数汇总
  3. 能源系统建模:GCAM碳中和情景设置
  4. idea 手动导入 jar 包
  5. 申宝投资-市场行情整体比较差
  6. OpenCL专题04:ViennaCL与Eigen双剑合璧
  7. 【已解决】window 更新:*某些设置由你的组织来管理问题
  8. 动态时间规整算法: 从DTW到FastDTW
  9. iReport学习一:中文字体显示
  10. 如何将win10电脑主题设置成深色