ORDER BY 排序条件等(如 oder by 表2.字段1)

除了INNER JOIN还有LEFT JOIN ,区别看: https://blog.csdn.net/m0_49316283/article/details/115699136

将两个表结果合并(从两个表中查的字段一样)

使用mysql中union all 将2个表中的数据查询结果合并到一个返回结果中。再针对结果统一排序操作等。(注:2个表返回的列名必须一致)

语句如下:

SELECT
	表1.字段,
	表2.字段,
	(SELECT 
		表.字段1,
		表.字段2
	WHERE
	UNION ALL
	(SELECT 
		表.字段1,
		表.字段2
	WHERE
WHERE
ORDER BY
	排序条件等


原文:https://blog.csdn.net/u013109978/article/details/69230196

SQL 多表合并UNION ALL和UNION

select
    d1.ID,CAST(d1.ID AS CHAR) AS intId, d1.CODE_TYPE, d1.CODE, d1.CODE_IMG, d1.VALUE
    from m_dict_code d1
    where d1.CODE_TYPE in('USER_TYPE','addSupers')
        UNION 
        select 0,v.ID,v.TYPE,v.`CODE`,v.DESCRIPTION,v.VALUE_STRING from m_variable as v where v.type='tequan'
        limit 1,20

语句说明:

1.CAST (expression AS data_type)字段类型转换函数

CAST (表名.字段名 AS 类型)
1.mysql int转varchr会出现问题
   错误: CAST (表名.字段名 AS varchar)
   正确:CAST (表名.字段名 AS char)或concat(d1.ID,'')
       将Int 转为varchar经常用 concat函数,比如concat(8,’′) 
       将varchar 转为Int 用 cast(a as signed)

2.UNION和UNION all 多表合并函数

1.两表字段类型不一致 用cast或concat函数解决

2.两表列属性数量不一致问题 select后跟相同类型字段值 (int类型)0或(字符串)''解决问题

3.(自动去重)UNION (允许重复的值)UNION all

mysql api: MySQL 5.1 中文参考手册 - 函数和操作符

mysql sql语句多表合并UNION ALL和UNION - 我风依旧 - 博客园

目录 从两个表中查不同字段并拼接到一起(从两个表中查的字段不一样) 将两个表结果合并(从两个表中查的字段一样) SQL多表合并UNION ALL和UNION 从两个表中查不同字段并拼接到一起(从两个表中查的字段不一样) SELECT 表1.字段1, 表2.字段1, 表1.字段2, ...FROM 表1INNER JOIN...
select d1.ID,CAST(d1.ID AS CHAR) AS intId, d1.CODE_TYPE, d1.CODE, d1.CODE_IMG, d1.VALUE from m_dict_code d1 where d1.CODE_TYPE in('USER_TYPE','addSupers') UNION
合并 查询 结果 合并 查询 结果 是将多个select语句的 查询 结果 合并 一起 union关键字, 数据库 会将所有的 查询 结果 合并 一起 ,然后除掉相同的记录; union all关键字,只是简单的 合并 一起 前期表准备: create table employee ( num int(50), d_id int(50),
这个例子里面我们从 两个 表中取出头两行,然后 合并 到一个表中。   在现实中我们常常会遇到这样的情况,在一个 数据库 中存在 两个 表,假设表1储存着公司个产品本季度销售信息,表2储存着公司本季度欠款金额情况。在一个页面中我们想把这 两个 信息显示出来。通常的做法是在程序中进行两次 SQL 查询 ,返回 两个 结果集,在分别显示出来,非常麻烦。   下面是实现这个功能的代码: CREATE PROCEDURE test    SET NOCOUNT ON --指示存储过程不返回 查询 影响的行数   DECLARE @col1c varchar(20),@col2c varchar(20), @inde
其中,table_name1和table_name2是要 查询 的表名,column_name(s)是要 查询 的列名,它们需要在 两个 SELECT语句中保持一致。使用UNION操作符时,需要注意以下几点: 1. UNION操作符默认去除重复记录,如果需要包含重复记录,可以使用UNION ALL。 2. 两个 SELECT语句的列数必须相同,列顺序也要一致。 3. UNION操作符只能 合并 两个 结果集,如果需要 合并 多个结果集,可以使用多个UNION操作符。 举个例子,如果要将 两个 表中的数据 合并 成一个结果集,可以使用如下 SQL 语句: SELECT id, name FROM table1 UNION SELECT id, name FROM table2; 这将返回一个包含 两个 表中所有记录的结果集,其中重复记录被去除。如果需要包含重复记录,可以使用UNION ALL。