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 可组成良好的开发环境。
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, ... FROM 表1 [INNER] JOIN 表2 ON 表1.关系字段=表2.关系字段
3、外连接查询之左外连接查询:可以通过 on
关键字指定连接的条件,并且一定会显示左表(相对而言写于 SQL 左边的表)的所有记录。
SELECT 查询字段1,查询字段2, ... FROM 表1 LEFT [OUTER] JOIN 表2 ON 表1.关系字段=表2.关系字段 WHERE 条件
4、外连接查询之右外连接查询:可以通过 on
关键字指定连接的条件,并且一定会显示右表(相对而言写于 SQL 右边的表)的所有记录。
SELECT 查询字段1,查询字段2, ... FROM 表1 RIGHT [OUTER] JOIN 表2 ON 表1.关系字段=表2.关系字段 WHERE 条件
以上是关于mysql多表查询,相同字段怎样分别显示的主要内容,如果未能解决你的问题,请参考以下文章