mysql多表查询,相同字段怎样分别显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql多表查询,相同字段怎样分别显示相关的知识,希望对你有一定的参考价值。

sql语句:Select * FROM 表1 a left join 表2 b on a.uid=b.id order by a.id desc
输出:两个表的name字段
问题:表1和表2name相同,上面这个语句只输出了表2的name,怎样都输出哪?

获取两个表中的数据时,给第二个表中跟第一个表中字段名相同的字段,加上个别名,如下:
表2.name as name2 表2中的name输出的时候 key值就是name2
Select 表1.*.表2.name as name2,表2.* FROM 表1 a left join 表2 b on a.uid=b.id order by a.id desc
参考技术A

    Select a.name as name1, b.name as name2

    FROM 表1 a

    left join 表2 b on a.uid=b.id order by a.id desc

拓展回答:

    mysql是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。

    MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

    MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

    由于其社区版的性能卓越,搭配 php 和 Apache 可组成良好的开发环境。

参考技术B Select a.name as name1, b.name as name2
FROM 表1 a
left join 表2 b on a.uid=b.id order by a.id desc本回答被提问者和网友采纳

5_MySQL_别名和多表连接查询

1. 设置别名

别名是再查询时对数据表和字段取临时名字的操作,一般作用是为了方便显示时查看以及对比,并没有对数据表的字段名产生影响,只是临时作用结果而已。
1、数据表取别名

select * from 数据表名 [as] 表的别名 where .... ;

2、字段取别名

select 字段名1 [as] 别名1 , 字段名2 [as] 别名2 , ... from 数据表名 where ... ;

2. 多表连接查询

说到关联查询,首先要说表之间的关联关系,主要有三种:多对一、一对一、多对多,通过前面说到的设置外键的方式进行连接。

多表连接查询主要有三种:交叉连接、内连接、外连接
1、交叉连接查询:将两张表的数据按照排列组合的方式对应输出。例如假如 A 表有 a 和 b两条记录, B 表有 c 和 d 两条记录,那么就会产生ac,ad,bc,bd这几个组合的记录,共四条。

SELECT * FROM 数据表1 CROSS JOIN 数据表2;

2、内连接查询:可以通过 on 关键字指定连接的条件

SELECT 查询字段1,查询字段2, ... FROM1 [INNER] JOIN2 ON1.关系字段=2.关系字段

3、外连接查询之左外连接查询:可以通过 on 关键字指定连接的条件,并且一定会显示左表(相对而言写于 SQL 左边的表)的所有记录。

SELECT 查询字段1,查询字段2, ... FROM1 LEFT [OUTER] JOIN2 ON1.关系字段=2.关系字段 WHERE 条件

4、外连接查询之右外连接查询:可以通过 on 关键字指定连接的条件,并且一定会显示右表(相对而言写于 SQL 右边的表)的所有记录。

SELECT 查询字段1,查询字段2, ... FROM1 RIGHT [OUTER] JOIN2 ON1.关系字段=2.关系字段 WHERE 条件

以上是关于mysql多表查询,相同字段怎样分别显示的主要内容,如果未能解决你的问题,请参考以下文章

mysql 多表查询 比较两个字段最大、最小值,并显示对应字段

mysql 多表联合查询啥用

sql mysql多表如何关联查询

MySQL多表查询

如何进行sql多表查询?

MySQL(10)-多表查询