sql简单语句

基本类型:
规定8种数据类型的目的:
-限定数据范围
比如 int -2的31次方—2的31次方减一
-占用内存的实际大小
任何程序跟内存申请内存空间,都需要告知内存要申请多大内存(多少字节的内存空间)
-申请内存空间中只能放置指定类型的数据(java是 强类型的语言)
比如:int i;
i的空间中只能存储整形数据
if 语句有几个出口
只有一个出口
话术:越过于抽象的概念,越要举例说明
面向接口编程
策略设计模式可以很友好的表达面向接口编程,是面向接口编程的一个有力的支撑
好处是什么:
public boolean removeIf(Perdicate predicte);
说明什么是策略,为什么要策略,策略有什么好处
说明回调的概念

算法:红黑树左外连接
语法:select 字段列表 from 表1 left join 表2 条件 左表为主
select s.sname,c.cname,s.id from student s left join class c on s.cno=c.cno;
交叉连接:就是笛卡尔积 cross join
select count(*) from student cross join class;
count统计查询数量
select count(统计的字段名) from 查询表名 where 查询条件
3.子查询
嵌套查询,select语句中包含select
如果一条语句中包含两个或者以上的select,那摩这样的语句叫子查询
子查询出现的位置:
1.where后,作为条件的一部分
2.from后,作为被查下的一张表
当查询出现在where后作为条件时,还可以使用关键字:all any
–案例:成绩大于bob的同学,第一步查询boob的成绩,第二部查询高于bob成绩的同学
select score from student where sname =‘bob’;
select *from student where score>(select score from student where sname=‘bob’);
–案例2:与tom在一个班级的同学
select cno from student where sname=‘tom’;
select cno,sname from student where con=(select cno from student where sname=‘tom’);
–案例3:查询高于三班所有人成绩的同学,其中三班所有人的成绩就是子查询
SELECT score FROM student WHERE cno=3;
ALL(所有)因为 SELECT score FROM student WHERE cno=3;不是一行数据.
SELECT * FROM student WHERE score > ALL(SELECT score FROM student WHERE cno=3);
–案例4:查询比三班任意一个人成绩高的同学名字,成绩,班级号
select *from student where cno=3;
select sname,score,cno from student where score > any(select score from student where cno=3);
4.单行多列的查询
–案例1:查询与tt班级和职务都相同的同学
select job,cno from student where sname=‘tt’;
select sname from where (job,cno)=(select job,cno from student where sname=‘tt’);
5.多行多列的查询
–案例:查询出高于自己班级平均成绩的同学信息
–第一步:查询出各个班级的平均成绩和班级号
select avg(score),cno from student group by cno;
6.一对多:
一个customer与多article关联
















select
c.id as c_id,
c.name as c_name,
c.contact as c_contact,
c.telephone as c_telephone,
c.email as c_email,
a.id as a_id,
a.titile as a_titile,
a.content as a_content
from customer c
left outer join article a on c.id=a.customer_id
where c.id=#{id}

7.使用mybatis一对一查询
1.UserMapper.java接口类
2.UserMapper.xml sql 语句










select
u.id as id,
u.name as name,
u.sex as sex,
c.cid as cname,
c.cname as cname
from user u
left join country c on (u.id)=(c.cid)

if (!StringUtil.isBlank(UBaseInstObj.BANKOUTLETSCODE)) {
UBaseInst uBaseInst=new UBaseInst();
uBaseInst.INST_ID=UBaseInstObj.INST_ID;
uBaseInst.BANKOUTLETSCODE=UBaseInstObj.BANKOUTLETSCODE;
long long1=(long)this.getObject(context,“selectbock”,uBaseInst);
if (long1>0){
rb.FLAG=false;
rb.MESSAGE=“网点代码已经存在,不能重复添加”;
return rb;
}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值