28、MySQL 教程 - MySQL 高级查询-数据源

前面一篇介绍了select选项和字段别名,这篇介绍数据源。数据源就是数据的来源,关系型数据库的来源都是数据表。本质上只要保证数据类似二维表,最终都可以作为数据源。数据源分为多种:单表数据源,多表数据源,查询语句。

单表数据源举例:select * from 表名;

 

多表数据源举例:select * from 表名1,表名2,…;

这里我们用两个表查询举例,先分别看看两个表的内容。

 

上面显示两个表,表1有1条数据,表2有两条数据。

 

有没有对上面的查询出来的结果数感到奇怪?上面的现象是:从一张表中取出一条记录,去另外一张表中匹配所有记录,而且全部保留(记录数和字段数),这种结果在数学上称之为笛卡尔积。其实就是一种交叉连接,笛卡尔积没什么用处,实际工作中尽量避免。

查询语句举例:数据的来源是一条查询语句(查询语句结果其实就是二维表)

语法:select * from (select语句) as 表名;

由于我们当前只学习到一张表内查询数据,这个例子不好举例。

 

上面as s中的S就是随便起的一个表名。这个查询在后面学习会用到,特别是多表联合查询有很好的效果。