jdbc总结

jdbcsql的占位符出现的位置:

where子句和values()中,select后和from后不行,要记住?一定是可变的,在查询同一个表中式可变的。

 

select sum(id) ,teacher, id  from student group byteacher;

字段出现的位置:

在标准sql中,select后的字段要么是出现在group by后面,要么是出现在聚集函数中,例如下面这样是不对的:

selectavg(score) , score from student group byteacher_name;

红色的sql既没有出现在聚集函数中也没有出现在groupby子句中。

但是mysql认为这是正确的,会返回score的第一条记录。

聚集函数出现的位置:

首先明确where是对行进行过滤,having是对分组进行过滤,在where过滤之前根本没有组,所以聚集函数不可能出现在where中,只能出现在select后和having子句中。

select count(*)from student whereid > 3 group by teacher_name having count(*) > 1;

而且要注意wheregroup前,havinggroup后。

 

sql99

cross join 交叉连接:相当于取广义笛卡尔积

natural join 自然连接:使用同名字段作为相等条件

using :当有不至一个同名字段时,使用using指定一个作为条件的同名字段。

join .. on…  on后面是连接条件

left/right/full[outer] join  //两段一定会出现,没有就用null补全。

sql 92

等值

不等值

广义笛卡尔积

外连接(mysql不支持,不用管)

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值