1、having和where的区别
解答:
having子句用于分组后筛选,where子句用于行条件筛选
where条件子句中不能使用聚集函数,而having子句就可以。
having只能用在group by之后,where执行在group by之前
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 表A )+(select count(sex) from 表B))
平均分:select(((select count(sex) from 表A )+(select count(sex) from 表B))/2)
工程中用到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=“李四”;
6、根据分数,给不同分数段的学生成绩划分等级。
解答: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);
8、需求:查询出不同性别年龄的总和
解答:select sex,sum(age) sum from person group by sex;
9、需求:查询出不同性别的平均年龄
解答:select sex,avg(age) sum from person group by sex;
标签:总结,面试题,name,sex,MySql,where,id,select,解答 From: https://www.cnblogs.com/cch6842/p/16636707.html