码迷,mamicode.com
首页 > 数据库 > 详细

SQL文(UNION)

时间:2014-10-14 01:00:15      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:union   sql   order by   mysql   desc   

    【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

bubuko.com,布布扣


向数据库中插入数据:

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;


bubuko.com,布布扣


使用union语句进行查询

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

bubuko.com,布布扣


使用order by 进行排序

    错误语句

select id from milk where number=20 order by id desc union select id from milk where number=30
    提示信息:

bubuko.com,布布扣


    正确语句:

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

bubuko.com,布布扣


  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;  

    

    

SQL文(UNION)

标签:union   sql   order by   mysql   desc   

原文地址:http://blog.csdn.net/whynottrythis/article/details/40055203

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!