sql所有查询语句

简介: sql:mysql查询数据 1.基本查询 查询所有字段 select * from table_name; 查询指定字段 select 字段,字段 from table_name; as起别名 select 字段 as name from table_name; 表名.
sql:mysql查询数据
1.基本查询
查询所有字段
select * from table_name;

查询指定字段
select 字段,字段 from table_name;

as起别名
select 字段 as name from table_name;

表名.字段 as给表起别名
select s.name from student as s;

distinct去重复
select distinct gender from student;

2.条件查询
1.
select * from student where age > 18;

where 字段 [>,<或者!=] 条件
逻辑运算: and or not

2,模糊查询
like:% 替换0个或者多个 _替换一个
select name from students where name like ‘小%’;#以小开始

查询有小的:select name from students where name like ‘%小%’;

查询有两个字的:select name from students where name like ‘__’;

至少两个 :select name from students where name like ‘__%’;

rlike 正则表达式
select name from students where name rlike ‘^周.*’;
贪婪非贪婪

3.范围查询
非连续 in
select name, age from students where age in (12,18,34)

非连续 not in
连续 between … and …
not between … and …
年龄不在18到34 select name,age from students where age not between 18 and 34;

4.空判断
is null

is not null

a = None a谁也没有指向
a = ‘’ a指向一个空的字符串

3.排序
order by字段
asc 从小到大
desc 从大到小
在查询语句后加上order by xxx [order by[desc]]

order by支持多个字段 order by heigh desc, id desc;
先写的谁,就按照谁先排序

4.聚合函数
总数count:
select count(*) as 男性人数 from students where gender = 1;

最大值max
select max(age) from students ;

最小min
求和sum
平均值 avg
select 表达式 from xxx;

四舍五入 round(结果,保留几位小数) 不精确计算 不适合精确处理带小数点的
不能放入两个表达式,因为他不知道把数据给谁
ceil加1 天花板
floor 取小 地板

5.分组
group by分组
分组的意义是和聚合一起用,先分组,再取数据
select gender, count(*) from students group by gender;
gender代表的意义是必须能唯一区分分组的特征的字段,再结合聚合表达式筛选出信息

group_concat显示组中的各类信息
having对分组进行条件判断
where再gruop by前 having在后
where对结果判断,having对分组判断
group by常和having搭配使用

6.分页
limit 限制查询出来的个数
limit start起始下标,num查询个数
limit (第N页-1)* 每页个数,每页个数
limit总要写在最后面

7.连接查询
连接多个表,取多个表中公共部分

内连接:取交集
inner join… on条件
select * from students inner join classes on students.cls_id = classes.id;

按要求显示
select students.*, classes.name from students inner join classes on students.cls_id = classes.id;

as可以起别名

左连接 left join… on
右连接 right join … on 没啥意义
查询的结果再查询
查询语句 …+ having…
查询语句…+ where…

8.自关联
table_name1 inner join table_name1 on… having…

9.子查询
先写一个select 再嵌套一个select

10.数据库的设计:
遵循三范式:
第一范式:列的原子性,不能再拆分

第二范式:第一范式之上,必须有主键,主键之外的字段直接依赖于所有的主键,不能依赖于主键的一部分

第三范式:第二范式之上,不能存在依赖传递

E-R模型 实体-关系
实体A对实体B为1对1,则在表A或表B中创建一个字段,存储另一个表的主键值
实体A对实体B为1对多:在表B中创建一个字段,存储表A的主键值
实体A对实体B为多对多:新建一张表C,这个表只有两个字段,一个用于存储A的主键值,一个用于存储B的主键值
50条军规
https://mp.weixin.qq.com/s/Yjh_fPgrjuhhOZyVtRQ-SA
--------------------- 
作者:JessePinkmen 
来源:CSDN 
版权声明:本文为博主原创文章,转载请附上博文链接!
相关文章
|
11天前
|
SQL 资源调度 数据库
深入探究SQL查询语句执行过程
深入探究SQL查询语句执行过程
27 2
|
11天前
|
SQL Java
使用java在未知表字段情况下通过sql查询信息
使用java在未知表字段情况下通过sql查询信息
21 1
|
1月前
|
SQL 存储 缓存
高基数 GroupBy 在 SLS SQL 中的查询加速
本文详细介绍了SLS中的高基数GroupBy查询加速技术。
|
20小时前
|
SQL 存储 缓存
一条 SQL 查询语句是如何运行?
本文详细剖析了SQL语句在MySQL中的执行流程,涵盖客户端、Server层及存储引擎层。Server层包括连接器、查询缓存、分析器、优化器与执行器等核心组件。连接器管理连接与权限校验,查询缓存加速查询,分析器负责词法与语法分析,优化器提升SQL性能,执行器调用存储引擎接口。了解这些流程有助于深入理解MySQL内部机制及其优化原理。
10 0
|
1月前
|
SQL 运维 程序员
一个功能丰富的SQL审核查询平台
一个功能丰富的SQL审核查询平台
|
15天前
|
SQL
SQL: 巧妙使用CASE WHEN实现查询
文章演示了如何利用SQL中的CASE WHEN语句来有效地进行条件性聚合查询,通过具体示例展示了CASE WHEN在统计分析中的应用技巧。
36 0
|
2月前
|
SQL 数据库 Java
HQL vs SQL:谁将统治数据库查询的未来?揭秘Hibernate的神秘力量!
【8月更文挑战第31天】Hibernate查询语言(HQL)是一种面向对象的查询语言,它模仿了SQL的语法,但操作对象为持久化类及其属性,而非数据库表和列。HQL具有类型安全、易于维护等优点,支持面向对象的高级特性,内置大量函数,可灵活处理查询结果。下面通过示例对比HQL与SQL,展示HQL在实际应用中的优势。例如,HQL查询“从员工表中筛选年龄大于30岁的员工”只需简单地表示为 `FROM Employee e WHERE e.age &gt; 30`,而在SQL中则需明确指定表名和列名。此外,HQL在处理关联查询时也更为直观易懂。然而,对于某些复杂的数据库操作,SQL仍有其独特优势。
41 0
|
2月前
|
SQL 关系型数据库 MySQL
|
2月前
|
API Java 数据库连接
从平凡到卓越:Hibernate Criteria API 让你的数据库查询瞬间高大上,彻底告别复杂SQL!
【8月更文挑战第31天】构建复杂查询是数据库应用开发中的常见需求。Hibernate 的 Criteria API 以其强大和灵活的特点,允许开发者以面向对象的方式构建查询逻辑,同时具备 SQL 的表达力。本文将介绍 Criteria API 的基本用法并通过示例展示其实际应用。此 API 通过 API 构建查询条件而非直接编写查询语句,提高了代码的可读性和安全性。无论是简单的条件过滤还是复杂的分页和连接查询,Criteria API 均能胜任,有助于提升开发效率和应用的健壮性。
72 0
|
2月前
|
Java UED 开发者
当错误遇上Struts 2:一场优雅的异常处理盛宴,如何让错误信息成为用户体验的救星?
【8月更文挑战第31天】在Web应用开发中,异常处理对确保用户体验和系统稳定性至关重要。Struts 2 提供了完善的异常处理机制,包括 `exception` 拦截器、`ActionSupport` 类以及 OGNL 表达式,帮助开发者优雅地捕获和展示错误信息。本文详细介绍了 Struts 2 的异常处理策略,涵盖拦截器配置、错误信息展示及自定义全局异常处理器的实现方法,使应用程序更加健壮和用户友好。
39 0