数据库(MySQL)学习笔记(六)
5.MySQL UNION 操作符
描述
MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。
语法
MySQL UNION 操作符语法格式:
SELECT expression1, expression2, … expression_nF
FROM tables
[WHERE conditions]U
UNION [ALL | DISTINCT]S
SELECT expression1, expression2, … expression_nF
FROM tables
[WHERE conditions];
参数
expression1, expression2, … expression_n: 要检索的列。
tables: 要检索的数据表。
WHERE conditions: 可选, 检索条件。
DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。
ALL: 可选,返回所有结果集,包含重复数据。
实例
下面的 SQL 语句从 “Websites” 和 “apps” 表中选取所有不同的country(只有不同的值):
SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;
带有 WHERE 的 SQL UNION ALL
下面的 SQL 语句使用 UNION ALL 从 “Websites” 和 “apps” 表中选取所有的中国(CN)的数据(也有重复的值):
实例
SELECT country, name FROM Websites
WHERE country=‘CN’
UNION ALL
SELECT country, app_name FROM apps
WHERE country=‘CN’
ORDER BY country;
UNION 语句:用于将不同表中相同列中查询的数据展示出来;(不包括重复数据)
UNION ALL 语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据)
使用形式如下:
SELECT 列名称 FROM 表名称 UNION SELECT 列名称 FROM 表名称 ORDER BY 列名称;
S
SELECT 列名称 FROM 表名称 UNION ALL SELECT 列名称 FROM 表名称 ORDER BY 列名称;
6.MySQL 排序
使用 MySQL 的 ORDER BY 子句来设定按哪个字段哪种方式来进行排序,再返回搜索结果。
语法
以下是 SQL SELECT 语句使用 ORDER BY 子句将查询数据排序后再返回数据:
SELECT field1, field2,…fieldN FROM table_name1, table_name2…O
ORDER BY field1 [ASC [DESC][默认 ASC]], [field2…] [ASC [DESC][默认 ASC]]
你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。
你可以设定多个字段来排序。
你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。
你可以添加 WHERE…LIKE 子句来设置条件。
实例
尝试以下实例,结果将按升序及降序排列。
SQL 排序
mysql> use RUNOOB; Database changed mysql> SELECT * from runoob_tbl ORDER BY submission_date ASC;
MySQL 排序我们知道从 MySQL 表中使用 SQL SELECT 语句来读取:
MySQL 拼音排序
如果字符集采用的是 gbk(汉字编码字符集),直接在查询语句后边添加 ORDER BY:
SELECT * F FROM runoob_tbl
O
ORDER BY runoob_title;
如果字符集采用的是 utf8(万国码),需要先对字段进行转码然后排序:
SELECT * F FROM runoob_tbl
O
ORDER BY CONVERT(runoob_title using gbk);
–111003001998
SELECT * FROM product.up_offer a WHERE a.offer_id = ‘&策划’;–策划
SELECT * FROM product.up_product_item a WHERE a.product_item_id in (111003001998); --策划单元
–客户视图
SELECT * FROM etl.v_user;
SELECT * FROM product.up_plan_prod_rel a WHERE a.product_item_id =111003001998 ; --策划关联产品
–18810293271 OFFER_PLAN_INCLUDE_SRVC_SINGLE
SELECT * FROM product.up_service_price a WHERE a.service_price_id in (121000087300,121000086745); --产品实体
SELECT * FROM product.up_product_item a WHERE a.product_item_id in (121000087300,121000086745); --产品单元-- 产品单元表送计费
SELECT * FROM product.up_item_relat a WHERE a.product_item_id in (121000087300);-- 产品关联服务
SELECT * FROM product.up_service a WHERE a.service_id =141000003604;–服务实体
SELECT * FROM product.up_product_item a WHERE a.product_item_id in (141000003604);
SELECT * FROM product.UP_ITEM_RELAT a WHERE a.product_item_id = 141000003604 and a.prod_item_relat_kind_id =‘SERVICE_GENERAL_ATTRIBUTE_SINGLE’ ;
SELECT * FROM product.up_attr a WHERE a.attribute_id = 151000001877;–属性实体
SELECT * FROM product.up_product_item a WHERE a.product_item_id in (151000001877);
SELECT * FROM product.up_item_relat a WHERE a.product_item_id = 111003001998 and a.relat_product_item_id like ‘18%’;–角色
select * from product.up_feature_spec t where t.feature_id like ‘1000000%’