数据的高级操作

查询数据(上)

  • 基本语法: 

select + 字段列表/* + from + 表名 + [where 条件];

  • 完整语法: 

select + [select 选项] + 字段列表[字段别名]/* + from + 数据源 + [where 条件] + [1] + [2] + [3];


[1] = [group by 子句][2] = [order by 子句][3] = [limit 子句]

SELECT 选项

select选项,即select对查出来的结果的处理方式。all

  • :默认,保留所有的查询结果;

distinct

  • :去重,将查出来的结果中所有字段都相同的记录去除。

执行如下 SQL 语句,进行测试:

-- 查询表 my_copy 中的数据
select * from my_copy;
select all * from my_copy;
select distinct * from my_copy;



mysql 查找 时间复杂度_数据源

字段别名

字段别名,即当数据进行查询的时候,有时候字段的名字并不一定满足需求(特别地,在多表查询的时候,很可能会有同名字段),这时就需要对字段进行重命名、取别名。

  • 基本语法:

字段名 + [as] + 别名;

执行如下 SQL 语句,进行测试:

-- 使用别名
select id,
name as 姓名,
age as 年龄,
grade as 年级
from student;

mysql 查找 时间复杂度_数据源_02

数据源

数据源,即数据的来源,关系型数据库的数据源都是数据表,本质上只要保证数据类似二维表,最终就可以作为数据源。

数据源分为 3 种,分别为:单表数据源,多表数据源和查询语句。

第 1 种:单表数据源

  • 基本语法:

select * from + 表名;

mysql 查找 时间复杂度_字段_03

第 2 种:多表数据源

  • 基本语法:

select * from + 表名1,表名2...;

mysql 查找 时间复杂度_字段_04

如上图所示,使用多表数据源时默认从一张表中取出一条记录去另外一张表中匹配所有记录,而且全部保留,比较浪费资源,应该尽量避免。

第 3 种:查询语句(子查询)

  • 基本语法:

select * from + (select * from + 表名) + [as] + 别名;

mysql 查找 时间复杂度_mysql 查找 时间复杂度_05

如上图所示,数据的来源是一条查询语句,而查询语句的结果是一张二维表。


温馨提示:符号[]括起来的内容,表示可选项;符号+,则表示连接的意思。


———— ☆☆☆ —— 返回 -> 史上最简单的 MySQL 教程 <- 目录 —— ☆☆☆ ————