首页 > 数据库 >My_SQL day2

My_SQL day2

时间:2024-11-07 17:15:49浏览次数:3  
标签:name Sage day2 视图 Student SQL NULL My select

知识点一:mysq查询方法

        排序

        限制

        去重

        模糊查询

        范围查询

        聚合函数

        分组

知识点二:连接查询

        1.内连接

        2.外连接

知识点一:mysql查询方法

is null            is not null

create table t1(id int,name varchar(10));
insert into ti(id)  values(1),(2);
insert into t1 values(3,"jianqi");

select * from t1 where name is not null;
+------+--------+
| id   | name   |
+------+--------+
|    3 | jianqi |
+------+--------+

select * from t1 where name is null;
+------+------+
| id   | name |
+------+------+
|    1 | NULL |
|    2 | NULL |
+------+------+

and or not

#and
select  *from Student where 18<=Sage and Sage<=19;  #既符合左边又符合右边

#or
select  *from Student where 18<=Sage or Sage<=19;   #两边有一个等式成立

#not
mysql> select  *from Student where not Sage<=19;    #排除

排序

#正序
select * from Student order by Sage;
#倒序
select * from Student order by Sage desc;

限制

select * from Student limit 2;

#从第三行开始显示两条数据
select * from Student limit 2;

去重

                字段       表名
select distinct Sage from Student;

模糊查询

select * from Student where Sname like "王%";   #任意多个
select * from Student where Sname like "刘_";   #匹配单个字符

范围查询

select * from Student where Sage in (18,20);
#18-----19
select * from Student where Sage between 18 and 19;

聚合函数

#求和
select sum(Sage) from Student;

#统计数量
select count(*) from Student;

#求平均
select avg(Sage) from Student;

#连接字符串
select group_concat(Sname) from Student;

#最小Sage
select min(Sage) from Student;

#最大Sage
select max(Sage) from Student;

分组

#group by
select subject_number from grades group by subject_number;
以什么分组  就要用什么来显示

select subject_number,count(*) from grades group by subject_number;

#having  可以筛选
select student_number,count(*) from grades group by student_number,grade having grade>=80;

子查询

select distinct Sage from (select Sage from Student order by Sage)as stu_age;

内连接

#两张表里面相同的名字
select * from t1 join t2 on t1.name=t2.name;

外连接

#左外连接
select * from t1 left join t2 on t1.name=t2.name;

+------+--------+------+--------+
| id   | name   | id   | name   |
+------+--------+------+--------+
|    1 | NULL   | NULL | NULL   |
|    2 | NULL   | NULL | NULL   |
|    3 | jianqi |    6 | jianqi |
+------+--------+------+--------+

#右外连接
select * from t1 right join t2 on t1.name=t2.name;
+------+--------+------+--------+
| id   | name   | id   | name   |
+------+--------+------+--------+
| NULL | NULL   |    4 | fufu   |
| NULL | NULL   |    5 | beibei |
|    3 | jianqi |    6 | jianqi |
+------+--------+------+--------+

视图

什么是视图:视图(VIEW)也被称作虚表,即虚拟的表,是一组数据的逻辑表示,其本质是对应于一条SELECT语句,结果集被赋予一个名字,即视图名字。
视图本身并不包含任何数据,它只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化。

好处:提高重用性;对数据库进行重构(不会影响数据运行);提高安全性(给不同用户提供视图表格);让数据更加清晰(想要什么样的数据就建什么样的表格)

缺点:表依赖关系(根据数据库中的基础表创建了视图,每当改变有关相联表的时候,都会改变视图;性能(从数据库的视图查询数据可能会很慢)

create view view_tb_paixu as select * from Student order by Sage;

标签:name,Sage,day2,视图,Student,SQL,NULL,My,select
From: https://blog.csdn.net/WuMingf_/article/details/143581926

相关文章

  • 【C++】封装红黑树实现mymap和myset
     无论你觉得自己多么的了不起,也永远有人比你更强。......
  • posgresql数据库高可用方案-patroni
    一、简介pg常用高可用方案有repmgr,patroni等,本文介绍patroni方案。Patroni,是专门为PostgreSQL数据库设计的一款以Python语言实现的高可用软件。其使用外部共享存储软件(kubernetes、etcd、etcd3、zookeeper、aws等)来存储patroni监控到的pg集群状态信息,实现PostgreSQL集群的自......
  • 基于Centos7.X部署mysql8.4集群(主备)
    1、目标    将在主库的数据变更同步到从库,从而保证主库和从库的数据一致。2、原理    2.1主库会把数据变更记录在二进制日志文件Binlog中    2.2从库连接主库,读取binlog日志,并写入自身中继日志relaylog    2.3slave重做中继日志,将改变......
  • 【Hive SQL】如何判断一个字段是否包含某个特定的值
    在HiveSQL中,如果你需要判断一个字段是否包含某个特定的值,你可以使用 LIKE 或RLIKE 关键字来进行字符串匹配。此外,Hive也支持一些字符串函数,如 INSTR 和LOCATE,这些都可以用于不同的需求场景。以下是一些常见的方法来判断一个字段是否包含某个值:数据准备——创建表格......
  • 揭秘MySQL事务的四大特性与隔离级别:从理论到实战,让你的数据操作无懈可击!
    MySQL事务的四大特性与隔离级别是数据库管理中非常重要的概念,它们确保了数据在并发操作下的一致性、完整性和可靠性。下面将详细介绍这四大特性及其隔离级别,并附上代码示例和详细解释。一、MySQL事务的四大特性原子性(Atomicity):定义:事务的所有操作要么全部完成,要么全部不完......
  • 高级 SQL 技巧详解
    文章目录高级SQL技巧详解一、引言二、窗口函数1、窗口函数的使用1.1、RANK()函数示例1.2、常用窗口函数三、公共表表达式(CTE)2、CTE的使用2.1、CTE示例四、索引优化3、索引的创建与优化3.1、创建索引3.2、索引类型与注意事项五、事务管理4、事务的基本操作4.1......
  • AI人工智能学习-Day2
    人工智能应用范畴脑科学认知科学心理学语言学逻辑学哲学计算机科学人工智能包含领域机器学习MachineLearning数据挖掘Databases模式识别神经计算NeurocompatingAI、机器学习、深度学习的关系人工智能包含机器学习,机器......
  • Mysql官网下载Windows、Linux各个版本
    下载软件官网地址:https://www.mysql.com/百度网盘分享的文件:Mysql链接:https://pan.baidu.com/s/1nT3oI-hXiQvZqdhi2Wv17g 提取码:8l4r 百度网盘只提供了Windows版本的,其他版本可以官网下载进入官网后,点击-看下图(说一万句不如一张图来得实在)往下滑屏幕,在点击在点击......
  • 在Debian12上安装mysql 8.0
    从deb安装默认是区分大小写的一、安装过程请参考:https://www.cnblogs.com/sunshine-sm/p/18030729设置为不区分大小写,请参考https://www.cnblogs.com/binli33/p/18531992二、常用命令mysql-uroot-papt-get--purgeautoremovemysql-serversystemctlstart......
  • 【Mysql】Mysql 有几级缓存?每一级缓存,具体是什么?
     Mysql有几级缓存?每一级缓存,具体是什么?转载:======https://mp.weixin.qq.com/s/fyMiy4G1Fa7laUSbydiHsA本文目录- 一、MySQL缓存机制概述- 二、MySQL整体架构  -1.解析器(Parser)  -2.优化器(Optimizer)  -3.执行器(Executor)  -三个核心组件之间的交互......