十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
select a.a_name as 名字,count(b.a_id) as 数量 from a inner join b on a.a_id = b.a_id group by a.a_name
创新互联主要从事成都网站建设、网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务南召,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
名字 数量
me 3
wo 1
he 1
select a.a_name as 名字,count(b.a_id) as 数量 from a left join b on a.a_id = b.a_id group by a.a_name
名字 数量
me 3
wo 1
he 1
she 0
our 0
使用 case when ..then else end 语句进行显示
多列数据展示都是使用case end
学会使用case end可以展示多列报表
自己试试吧
不会,不过有些思路
提取你要输入的A的值,判断 select count(*) from TABLE where A=你输入的值。
case1:如果查到的值是0,则B为1;
case2:如果查到的值不是0,查询 select max(B)+1 from TABLE where A=你输入的值 ,并将查询到的值和A要输入的值一起插入;
如果只是用数据库实现的话带参数的存储结构应该能实现你这个要求,编程的话就更简单了
拿oracle来说,sql的执行计划就不一样,也就是说执行sql要花费的时间不一样。
子查询: select st_name from student s where exists (select 1 from course where course_name='database' and st_id=s.st_id)
联合查询: select st_name from student s, course c where s.st_id=c.st_id
后者的执行速度会快一些。因为如果在student表的st_id字段有主键的话,前者不使用索引查询,而后者使用索引,你可以到数据库里试验一下。