sql学习笔记2

-- 1. 联合查询union
select * FROM eb_store_product where store_name like "%品%"
UNION
select * from eb_store_product where store_name like "%1%"

  UNION 语句:用于将不同表中相同列中查询的数据展示出来;(不包括重复数据)

  UNION ALL 语句:用于将不同表中相同列中查询的数据展示出来;(包括重复数据)

  使用形式如下:

SELECT 列名称 FROM 表名称 UNION SELECT 列名称 FROM 表名称 ORDER BY 列名称;
SELECT 列名称 FROM 表名称 UNION ALL SELECT 列名称 FROM 表名称 ORDER BY 列名称;
-- UNION 只会选取不同的值。请使用 UNION ALL 来选取重复的值! select product_id FROM eb_store_product_cate UNION select product_id FROM eb_store_product_attr select product_id FROM eb_store_product_cate UNION ALL select product_id FROM eb_store_product_attr -- 带条件的union all select product_id,type FROM eb_store_product_attr WHERE product_id=22 UNION ALL select product_id,cate_id FROM eb_store_product_cate WHERE product_id=22


-- 2. 视图 查询单价大于平均价的商品 CREATE VIEW Products AS SELECT store_name,price from eb_store_product where price >(SELECT AVG(price) FROM eb_store_product) -- 查询创建的视图,同时增加条件 SELECT DISTINCT * from products where price>1000 -- SQL 的 NULL 值处理 SELECT * from eb_store_product WHERE is_bargain is NULL SELECT * from eb_store_product WHERE is_bargain is not NULL

  

 1 -- GROUP BY多表查询 
 2 SELECT
 3     p.store_name,
 4     count(c.product_id) nums
 5 FROM
 6     eb_store_product p
 7 LEFT JOIN eb_store_product_cate c
 8 on p.id=c.product_id
 9 GROUP BY p.id
10 
11 
12 
13 -- 统计管理员 后台操作记录数量 并且不是超级管理员  having -大小写函数 -mid函数 -lenth函数 -now当前日期函数 -DATE_FORMAT函数
14 SELECT
15 UCASE(a.account) u,
16 LCASE(a.account) l,
17 MID(a.account,1,3) str,
18 LENGTH(a.account) str,
19 Count(l.admin_name)  num,
20 DATE_FORMAT(Now(),'%m-%d') 'month',
21 now() time
22 FROM
23  eb_system_admin a
24 INNER JOIN eb_system_log l
25 on a.id =l.admin_id
26 WHERE a.roles>1
27 GROUP BY a.account
28 HAVING Count(l.admin_name) >1

 

posted @ 2020-10-17 13:48  谢凌  阅读(113)  评论(0编辑  收藏  举报