MySQL数据库SQL语句(二)

本文详细介绍了MySQL数据库中的SQL语句,包括EXISTS子句、各种连接查询(inner join, left join, right join)、CREATE VIEW创建视图、联集、交集和无交集操作以及CASE语句的使用。此外,还讲解了排序技巧、空值与无值的区别,以及正则表达式。最后,深入探讨了存储过程的概念、优点、创建、调用、参数类型和控制语句。" 85289702,7770296,解决MySQL报错No space left on device,"['数据库管理', 'MySQL问题', '磁盘空间', '日志清理']
摘要由CSDN通过智能技术生成

准备

mysql -uroot -p
show databases;

create database train_ticket;				#创建库
use train_ticket;							#进入库
create table REGION(region varchar(10),site varchar(20));				#创建表
create table FARE(site varchar(20),money int(10),date varchar(15));

desc REGION;															#查看表结构
desc FARE;

insert into REGION values ('south','changsha');							#插入表内容
insert into REGION values ('south','nanchang');
insert into REGION values ('north','beijing');
insert into REGION values ('north','tianjin');

insert into FARE values ('changsha',1000,'2021-03-7');
insert into FARE values ('nanchang',700,'2021-03-7');
insert into FARE values ('beijing',1500,'2021-03-7');
insert into FARE values ('tianjin',1200,'2021-03-3');
insert into FARE values ('beijing',2200,'2021-03-10');

select * from REGION;													#查看表内容
select * from FARE;

一、MySQL数据库SQL语句(补充)

EXISTS------用来测试内查询有没有产生任何结果

类似布尔值是否为真

如果有的话,系统就会执行外查询中的SQL语句。若是没有的话,那整个 SQL 语句就不会产生任何结果。

语法:SELECT "栏位1" FROM "表格1" WHERE EXISTS (SELECT * FROM "表格2" WHERE "条件");

例:
select region from REGION where exists (select * from FARE where money = '700');

在这里插入图片描述

二、连接查询

1、inner join(等值相连)

只返回两个表中联结字段相等的行

SELECT * FROM 表1 表1的别名 INNER JOIN 表2 表2的别名 on 表1别名.栏位 = 表2别名.栏位;  #这里的栏位名称相同
例:
select * from REGION AS A inner join FARE AS B on A.site = B.site;

在这里插入图片描述

2、left join(左联接)

返回包括左表中的所有记录和右表中联结字段相等的记录

SELECT * FROM 表1 表1的别名 LEFT JOIN 表2 表2的别名 on 表1别名.栏位 = 表2别名.栏位;  #这里的栏位名称相同
例:
select * from REGION AS A left join FARE AS B on A.site = B.site;

联接规则:
表格一中有的,表二中没有的,联接用NULL填充;
表一有,表二也有,联接两个表相同字段的行
表一没有,表二有的,则省略,以表一为主。

3、right join(右联接)

返回包括右表中的所有记录和左表中联结字段相等的记录

SELECT * FROM 表1 表1的别名 RIGHT JOIN 表2 表2的别名 on 表1别名.栏位 = 表2别名.栏位;  #这里的栏位名称相同
例:
select * from REGION AS A right join FARE AS B on A.site = B.site;

右联接和左联接类似,以表二为主。

三、CREATE VIEW 视图

视图跟表格的不同是,表格中有实际储存资料,而视图是建立在表格之上的一个架构,它本身并不实际储存资料。

临时表在用户退出或同数据库的连接断开后就自动消失了,而视图不会消失。

视图不含有数据,只存储它的定义,它的用途一般可以简化复杂的查询。比如你要对几个表进行连接查询,而且还要进行统计排序等操作,写SQL语句会很麻烦的,用视图将几个表联结起来,然后对这个视图进行

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值