sql学习笔记

(1)Having一般使用在Group by聚合函数下,如:

SELECT  id ,COUNT(DISTINCT superior)  number,targer FROM commission GROUP BY superior HAVING targer=#{targer}

(2)通配符的使用:

形式:‘%admin%’  数据库的索引会失效查询变慢 ,

    ‘qf_admin%’  数据库的索引不会失效。

(3)时间上的间隔判断:

使用“ <= ,  >=” 的形式,不使用between...and... 如:


(4)连接join

等值连接(inner-join)

左连接(left-join)(当使用主键表关联外键表的时候,我们往往得到单条数据,因为主键唯一性的关系,若想得到主键表的所有数据包括关联的,则此时可以使用左联接)

右连接(right-join) 如:

SELECT t.EMPLOYEE,t.USERID,t.FULLNAME,t1.ADDRESS FROM uum_userinfo tLEFT JOINuser_address t1 ON t.USERID = t1.userid;

结果如下:

以左边表格数据为准(左边表格的数据全部显示,若没有则显示为空,多出则不显示)。

SELECT t.EMPLOYEE,t.USERID,t.FULLNAME,t1.address FROM uum_userinfo tRIGHT JOINuser_address t1ON t.USERID = t1.userid;

 结果如下:

边表格数据为准(边表格的数据全部显示,多出则不显示,若没有则显示为)。

(5)UCASE 转换成大写,LCASE转换成小写。

(6)Union 与Union All

SELECT t.USERID,t.ADDRESS FROMuum_userinfo t UNION SELECT t1.address,t1.id FROM user_address t1;


注:此处仅是将两个表查询出的结果简单拼接在一起,select查询必须具有相同的列数(否则将报错,如上sql中的两个select均只有两列)。

Union All 与Union相似,只是对两个表查询出的结果全部显示,而Union会去除重复的数据(保证重复的数据只显示一条)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值