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
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。