数据库(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%’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Morgan_Liu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值