SQL 语言整理 ——mysql

来源:互联网 发布:freenom域名怎么用 编辑:程序博客网 时间:2024/05/22 13:51

测试sql语句的性能

select **BENCHMARK**(**100000**,**"**select *,**DATE**(pre_start_date) as times from jcb_tnonstandardproduct as tp INNER JOIN jcb_t_product on pTrustId = tp.product_id**")** BENCHMARK();测试SQL语句的性能

判断语句

case when …… then …… else …… end   when 后面可以是判断语句,或者是isnull(select ……)

inner join 一个新生成的表

inner join 一个表为null 则不显示left join 左边的表可以不为null 

union 字段

    select product_name **as pname** ,product_id AS detailId ,product_period AS pqixian, product_rate AS pshouyi ,1 as type from jcb_tnonstandardproduct **union** select pFundName **as pname** ,pFundId AS detailId ,dataDate AS pqoxian ,tenThousandBenifitRate AS pshouyi,2 as type from jcb_t_standerproduct_fundunion 查询了两个相似的表,把相同的字段不同的名字组合成一张表。。联合表,是两个表联合起来组成一个字段

group by

排序,按照什么什么排序

提高sql语句的效率—— 增加判断语句 、inner join的表要小(连接的表要小)

查询一个List 并且其item也是list 的时候。要全部查出来然后处理 。

SQL 触发器 当某一个表改变的时候,另一个表也必须要改变的情况下,考虑使用触发器 —— 当触发器一旦创建的时候,就会一直跟随者数据库

**create trigger t1**   创建触发器**after update on** jcb_user_bank_card 在更新某一个表之后**for each row**  对于每一行**begin** 开始执行的操作**if** new.bankCardState=1 **then** update attr_bank **set** bankState=1 **where** bankId=new.bankCardBankId; 如果……then …… 当……**end if; 结束end** SELECT    jcb_t_agent_task.*, **MONTH** (   **//取出来该时间的月份**        jcb_t_agent_task.taskCreateTime    ) AS taskMonth,    **YEAR (  //取出改时间的年份**        jcb_t_agent_task.taskCreateTime    ) AS taskYear,    **SUM(taskAmount)** AS allAmount,    SUM(taskFullfillAmount) AS allFinishAmountFROM    jcb_agent_userINNER JOIN jcb_t_agent_task ON agentBelogTeam = relatedTeamWHERE    agentUserId = 1AND **YEAR ( jcb_t_agent_task.taskCreateTime ) = 2015****GROUP BY    (taskMonth);** 按照月份进行排序
0 0
原创粉丝点击