1、having和where的区别
解答:
having子句用于分组后筛选,where子句用于行条件筛选
where条件子句中不能使用聚合函数,而having子句就可以。
2、请写出删除和插入的SQL语句。
解答:
A、首先创建一张表,create table user(id int prinmary key,name varchar(5),sex varchar(3));
B、插入有四种方式,分别如下:
1)按字段插入:insert into user(name) values("zhangsan");
2) 插入一行数据:insert into user values(1,"wagnwu");
3) 插入多行数据:insert into user values(2,"lisa"),(3,"aimi"),(4,"coco");
4) 插入重复数据:replace into user values(1,"wagnwu");
C、删除有三种方式,分别如下:
1) 删除一行数据:delete from tableNme where id=x;
2)删除整张表的数据:delete from tableName;
3)大批量删除数据:truncate table tableName ;
3、使用where编写与内连接等价的sql语句
解答:
select 表的别名.字段名 from 表1 表1别名,表2 表2别名 where 关联条件
4、MySQL中有两个表,表A 中有name,性别,分数;表b中有name,性别,分数,女生总共多少人,平均年龄,工程中用到哪些函数?
解答:
女生总共多少人:select((select count(sex) from person where sex="girl")+(select count(sex) from p_person where sex="girl")) as 女生总数;
平均分:select((select avg(sex) from person)+(select avg(age) from p_person)) as 平均年龄;
工程中用到count()和avg()函数
5、mysql 中有两个表格,表A 中有id,name,company,表B 中有id,工资,怎么查询李四的工资。
解答:使用内连接的方法通过id把表A和表B关联起来查找名字为李四的工资
select a.name,b.salary from A a inner join B b on a.id=b.id where name=“李四”;
解答:select(case when score的区间 then "分数等级" end) score,name from student;
7、重复字段查询
需求:查询出相同姓名个数大于1的信息
解答:select * from person where name in(select name from person group by name having count(*)>1);
解答:select sex,sum(age) sum from person group by sex;
9、需求:查询出不同性别的平均年龄
解答:select sex,avg(age) sum from person group by sex;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?