欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

basis and exercise_MySQL

程序员文章站 2022-06-15 08:28:01
...
bitsCN.com

select now();
select CURDATE();
insert into pa_login_logs(party_no, login_time) values(3,now());
SELECT *,max(login_time) FROM pa_login_logs group by party_no order by max(login_time) desc;


5.有一张表格s_su,有三个字段age,name,score ,现在根据要求写出SQL语句:
1),根据年龄分组,选出分数score>90的分组的年龄分组和同学个数。
select age,count(*) from s_su where scoure >90 group by age;
2),根据年龄分组,选出平均分大于85的分组的年龄分组和平均分。
select age,avg(scoure) from s_su group by age having avg(scoure) >90;
3),假设这个表有100条记录,用SQL语句打印出分页记录,打印出第50-60的记录.
Mysql:select * from s_su limit 50,60;
----》这个主要考到分组和使用函数,另外使用having挑选出适合的分组。至于limit是Mysql专业函数,其他数据库不知道能不能通用,大家可以测试下。

6.假设表A有6条记录,B有4条记录,进行匹配的字段为name,看下面SQL语句给出结果:
1),select * from A left join B on A.name = B.name,最多有几条记录,最少呢?
答,最多和最少都是6条。
2),select * from A right join B on A.name = B.name,最多有几条记录,最少呢?
答,最多和最少都是4条。
3),select * from A left jion B on A.name = B.name union select * from A left jion B on A.name = B.name,最多有几条记录,最少呢?
答,最多和最少都是6条。
4), select * from A left jion B on A.name = B.name union select * from B left jion A on B.name = A.name, 最多有几条记录,最少呢?
答:最多有10条,最少有6条。
5), select * from A left jion B on A.name = B.name union all select * from A left jion B on A.name = B.name ,最多有几条记录,最少呢?
答:最多和最少都是12条。
6), select * from A left jion B on A.name = B.name union select * from B left jion A on B.name = A.name, 最多有几条记录,最少呢?
答:最多和最少都是10条。
----》这里考到Sql语句中左联和右联,左联就是以左边作为基准,有的值保留,没有的话就为Null,右联也是如此。现在主要是union和union all的问题了,union是将相同的进行合并,不相同的向左边基准表插入,union all则是不管相同与否都是向左基准表插入。

本文出自“tongxiaoming520”

bitsCN.com
相关标签: max 3 values