SQL文(UNION)

【2014/10/14 0:20】

数据库软件到期了,但是又想记忆一下UNION ~ORDER BY的用法。

连接数据库

 start mysql -u root (没有设置密码)

查看数据库中的数据库

show databases;

选择test数据库

use test;

创建一个数据库(这样写好看点)

String SQl="CREATE TABLE milk("+
					" ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,"
					+" NAME VARCHAR(30) NOT NULL ,"
					+" NUMBER INT DEFAULT 0 ,"
					+" PRICE DOUBLE(6,2) DEFAULT 0.00 ,"
					+" ID_SHOP INT NOT NULL"
					+ ")";

显示数据表结构

describe milk

向数据库中插入数据:

insert into milk values(1,'mengniu',20,3.00,12); insert into milk values (2, 'yili',30,30.1,12);insert into milk values(3,'sanyuan',20,1.22,13)

显示数据库中的数据

select * from milk;

使用union语句进行查询

select id from milk where number=20 union select id from milk where number=30

使用order by 进行排序

错误语句

select id from milk where number=20 order by id desc union select id from milk where number=30

提示信息:

正确语句:

select id from milk where number=20  union select id from milk where number=30 order by id desc

 
1.
只能在union的最后一个子查询中使用order by,而这个order by是针对的是整个union后的结果集。

2.  所union的各个子查询要有相同数量的列,且对应位置的列必须具有相同的数据类型,但列的名字可以不同。

下面的例子从其他地方借鉴:

II  使用列序号代替实际列名, 序号从1开始,如果指定的序号不在允许的范围内,系统会报出一个异常。这里也可以使用ORDER BY supplier_name进行

select supplier_id, supplier_name
			from suppliers
			UNION
			select company_id, company_name
			from companies
			ORDER BY 2;  

III 为unoin的各个子查询使用相同的列名

select supplier_id as id, supplier_name as name
	from suppliers
	UNION
	select company_id as id, company_name as name
	from companies
	ORDER BY name;  
时间: 2024-10-05 12:13:02

SQL文(UNION)的相关文章

UNION函数的使用以及SQL文的高效编辑方法

查找SELECT 相同列的情况下,例如选择一个月每一天的某几项数据,相当于查询一个月三十行数据,为了在一个表中显示就要使用union函数. eg: SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time LIKE '2018-05-01%' AND act = '1005001001' UNION ALL SELECT COUNT(DISTINCT uid) AS c FROM da_track WHERE data_time

sql的union用法

sql中union是很常见的,尤其是创建视图时,完全离不开union. SQL UNION 操作符合并两个或多个 SELECT 语句的结果,UNION 内部的每个 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每个 SELECT 语句中的列的顺序必须相同. union包括union和union all两种语法,如下: SQL UNION 语法 SELECT column_name(s) FROM table1 UNION SELECT column_name(s) F

sql中Union和union all的使用

该文转载自:http://www.cnblogs.com/chaobaojun/archive/2009/12/24/1631508.html 在MS-SQL如果将两个或更多查询的结果组合为单个结果集,该结果集包含联合查询中的所有查询的全部行,常用的方法如下: 一.       使用union 或union All语句 1.   union 与 union all语句的区别 ?         UNION 组合多个表(或结果集)并将其作为单个结果集返回; ?         UNION ALL 

SQL中union运算操作的理解

在SQL中,对于并运算,可以使用union关键字. 例如: SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2 在学习过程中,我产生了一个疑问,如果两个表的属性名称不同会出现什么情况呢? 直接模拟了一个例子,构建代码如下: create table employee (empname char(6), numchildren int ) create table dependent

SQL的union操作符

UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须相同. SQL UNION 语法 SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2 注释:默认地,UNION 操作符选取不同的值.如果允许重复的值,请使用 UNION AL

sql 高级 (二)(Alias(别名) sql join UNION 和 UNION ALL)

Alias(别名) eg(使用表名称别名): select po.orderid,p.lastname,p.firstname from persons as p,product_orders as po where p.lastname='adams' and p.firstname='john'(使用别名) select product_orders.orderid,persons.lastname,persons.firstname from persons,product_orders

关于SQL中Union和Join的用法

转自帘卷西风的专栏(http://blog.csdn.net/ljxfblog) https://blog.csdn.net/ljxfblog/article/details/52066006 Union UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须相同. //联合两个表,没有重复 SELECT E_Name FROM Employ

sql:union 与union的使用和区别

SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须相同.目的保证查询出来的数据是同意类型的 SQL UNION 语法 SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2 注释:默认地,UNION

【ORACLE】 两个order by的SQL使用 UNION 或者 UNION ALL 报错 ORA-00933:sql命令未正确结束

在oracle sql中,要求order by是select语句的最后一个语句,而且一个select语句中只允许出现一个order by语句,而且order by必须位于整个select语句的最后. union操作实际上做了两部分动作:结果集合并 + 排序, union all只进行结果集简单合并,不做排序,效率比union高 . 例子: 表一:table1  查询语句 : select  * from table1 t1  order by t1. c1  ;         表二:table