马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 yukari123 于 2023-3-21 14:53 编辑
sum()
max()
min()
count()
以上函数都是选择非空集合运算
如果要把空的也算进去需要
count(*)
distinct关键字表示对 distinct 后面的所有列进行组合去重
order by 分组子句SELECT
我靠。。。我没保存闪退了 数据全没了
从我现在学的开始吧。。之前的一大段没保存
[quote][code]SELECT product_id
FROM products p
where NOT EXISTS (
SELECT product_id
FROM order_items
WHERE product_id=p.product_id)
[/quote]数值函数:
round()四舍五入一个整数
round(a,b)b为需要四舍五入的精度
ceiling()返回大于或等于的整数
fool()地板函数
ABS()绝对值
RAND()返回随机0-1的浮点数
lower(‘’)字符串小写
LEIGHT(‘’)截取
SUBSTRING(‘’,3,6)截取其实位置3,长度为6的字符
LOCATE(''v,'love')查找后面字符串出现v的次数,不分大小写
REPLACE(‘原字符串’,‘需要替换的’,‘替换后的’)
CONCAT('','')连接两个字符
NOW() 获取当前完整时间
CURDATE()获取简写的日期
CURTIME()获取简写的时间
YEAR(NOW())
DATE(NOW())
MOUNTHNAME(NOW())
EXCEPT(YEAR FROM NOW())
格式化时间 DATE_FORMAT(NOW(),'%M %d %Y') 三月 11 2019
TIME_FORMAT(NOW(),' %H :%i %p')12:12 PM
DATE_ADD(NOW(),INTERVAL 1 YEAR/DAY) 返回一年前的时间,如果用负数就是未来
DATEDIFF('2019-07-21 12;00','2019-07-01 12;00')输出是-20 返回两个日期的时间差
TIME_TO_SEC(‘9:00’)-TIME_TO_SEC(‘9:02’) 输出的是-120 返回秒之差
IFNULL(shipper_id,'没有出货')AS shipper 定义空值
COALESCE(shipper_id,commend,'自定义') 挨个查找,返回
if语句
if(条件,正确输出,错误输出)SELECT
product_id,name,order_id,count(order_id) a,if(count(order_id)>1,'多家','单件')
FROM sql_store.products
join order_items using(product_id)
group by product_id
CASE语句CASE
when 条件 then ‘输入的字符’
when 条件 then ‘’
。。。
else ‘’
END AS 列名
视图view操作
创建CREATE VIEW 表名 AS
SELECT 。。
CREATE VIEW seeseebalancebalance as
SELECT
c.client_id,
c.name,
sum(invoice_total-payment_total) as banlance
FROM sql_invoicing.clients c
join invoices i USING (client_id)
group by client_id,name
删除覆盖更改CREATE OR REPLEACE VIEW 表名 AS
删除列、更新列DELECT FROM 视图名
where
UPDATE 视图名
SET
where
锁定视图
最后加 |