mysql基础知识理解和sql题讲解分析面试实战(三)之group_concat

####mysql基础知识理解和sql题讲解分析面试实战(一)之group_concat

  • group_concat 将同一字段的多行内容以一定的函数合成一行内容

####用例 sql 语句如下 该用例主要考察group_concat


# 如题:用sql查询jimmy 的下属,并将下属的名字拼接在一个字段输出,中间用“,”隔开
#创建department 和employee表

create table department(
id int(10) not null,
departmentName VARCHAR(20),
leaderName varchar(20),
PRIMARY key(id)
)

CREATE TABLE employee(
departmentid int(10) not null,
name varchar(20),
FOREIGN KEY(departmentid) REFERENCES department(id) on DELETE CASCADE
)

#插入数据
insert into department values(1,'ls','tom'),(2,'dg','jimmy'),(3,'gr','lily'),(4,'rd','john');
INSERT into employee values(1,'aaron'),(2,'bart'),(2,'brook'),(2,'dave'),(2,'elton'),(2,'george'),(3,'niuniu'),(4,'jack');

select * from department;
select * from employee;


#执行结果
select GROUP_CONCAT(employee.name,',') as aa from department join employee on department.id = employee.departmentid and department.leaderName ='jimmy'
  • 结果图

输入图片说明

  • 分析

1:若有关联关系的表一定要把关联条件写上;2:使用group_concat(expr) 能将 将同一字段的多行内容以一定的函数合成一行内容(啰嗦了,但是请记住)

结论
  • 此题是某公司的面试题,拿来用了,若对你有用,不谢

  • QQ大数据交流群:181666459

转载于:https://my.oschina.net/budaoniu/blog/650362

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值