MySQL8.0基础操作2

MySQL8.0基础操作2

1. 联合操作

使用union关键字,将users表与users2表联合起来(去重):

select * from users
union
select * from users2;

在这里插入图片描述使用多个union可以将多个表联合起来(去重):

select * from users2
union
select * from users
union
select * fro users3;

在这里插入图片描述使用多个union all可将多个表联合起来,并且不去重:

select * from users3
union all
select * from users
union all
select * from users2;

在这里插入图片描述

2. 连接操作

表users与表users2的信息如下:
在这里插入图片描述1、内连接,使用join或inner join,表示求出两个表的交集,即在笛卡尔集中挑出两个表中使on成立的记录:

select * from users
join users2 on users2.userID=users.userID;

在这里插入图片描述
2、左连接,使用left join,表示求两个表的交集加上左表的剩余记录,即在笛卡尔集中挑出两个表中使on成立的记录,并加上左表中剩余的记录:

select * from users
left join users2 on users2.userID=users.userID;

在这里插入图片描述3、右连接,使用right join,表示求两个表的交集加上右表的剩余记录,即在笛卡尔集中挑出两个表中使on成立的记录,并加上右表中剩余的记录:

select * from users
right join users2 on users2.userID=users.userID;

在这里插入图片描述

3. 排序

将表users按照Fee从小到大排序,因为属性Fee定义的是字符型,故从最高位开始,按照ASCII比较,这里因为9比1的ASCII大,所以排序结果如下:(如果把Fee定义为Int型,则可以按照数值大小排序)

select * from users
order by Fee;

在这里插入图片描述
将表users按照Fee从大到小排序:

select * from users
order by Fee desc;

在这里插入图片描述

4. 正则表达式

使用regexp关键字(regular expression)
1、表示在users表中查询userName以a开头的记录:

selec * from users where userName regexp'^a';

在这里插入图片描述
2、表示在users表中查询userName以b结尾的记录:

select * from users where userName regexp'b$';

在这里插入图片描述
3、表示在users表中查询userName中含b的记录:

select * from users where userName regexp'b';

在这里插入图片描述4、表示在users表中查询userName中含0个及以上b的记录:

select * from users where userName regexp'b*';

在这里插入图片描述
4、表示在users表中查询userName中含1个及以上b的记录:

select * from users where userName regexp'b+';

在这里插入图片描述

5. 临时表

使用temporary关键字创建临时表:
1、使用show tables查看数据库中的表示,无法查看到临时表,但是临时表与普通表一样,可以进行一系列操作。
2、使用完临时表后可以使用drop删除。
3、在使用exit退出mysql操作界面,再进去之后,之前创建的临时表会消失。

create temporary table users4(userID varchar(10),userName varchar(10));

在这里插入图片描述

6. 查询属性是否为空

表users的信息如下:
在这里插入图片描述
在users表查询出userS为null的记录:

select * from users where userS is null;

在这里插入图片描述
在users表查询出userS不为null的记录

select * from users where userS is not null;

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值