码迷,mamicode.com
首页 > 数据库 > 详细

数据库查询语句(DQL)

时间:2020-11-25 12:43:12      阅读:10      评论:0      收藏:0      [点我收藏+]

标签:union all   必须   数据库   别名   笛卡尔   rom   个数   nio   内容   

DQL:
数据库执行DQL语言不会对数据库中的数据发生任何改变,而是让数据库发送查询结果到客户端。

*执行语句不改变表内容

where :

使用运算符
=, !=, <, >, <=, >=
between...and: 介于...和...之间
and 且
or 或
in /not in # 在in内的/除了in内的
is /is not # 类似于python中的身份运算符,常用于判断null值

like :

_   :  匹配单个任意字符
% :匹配0-n个人任意字符【n大于等于1】 == 正则表达式的+

查询表格所有列:select * from 表名;

查询某一列内容:select 列名 from 表名 ;

查询指定多列内容:select 列名1 ,列名2,... from 表名;

as ( 起别名 ):

select 字段 as 别名    	# 将字段名字换成别名 并输出到控制台,不会改变原有表格属性

distinct(去重) :

select distinct  字段 from 表名 ;     # 将字段的数据去重   

order by ( 升降序 ) :

# asc 升序  
# desc 降序
select * from 表名 order by 字段 asc/desc ;	 

聚合函数:

select 聚合函数 from 表名 ;
    count (统计出现的次数) :
select count(*) from 表名 where 条件;
# 统计表格中分数大于80的个数  
select count(*) from 表名 where  score>80 ;

sum (求和): sum(字段)
select sum(age) from student ;
max(最大值) :max(字段)
min(最小值) : mix(字段)
avg (求平均数) : avg(字段)

group by (分组查询):

# 查询以某个字段为分组,计算分组内的数据,比如每个组多少个
group by 分组的字段

having: 有...,表示条件,类似于where

where 必须在 group by 前面 因为group by后面的过滤条件是 having
where 后面不可以使用聚合函数, having 后面可以使用聚合函数

多表联查:

union 去除重复记录(去重)
union all 获取所有的结果 (并集)

前提:列表之间的字段类型,列数必须相同
去重: select * from 表一 union select * from 表二 ;
并集: select * from 表一 union all select * from 表二 ;

表连接:

select * from 表一,表二 ;      # 会输出笛卡尔积 即两个集合相乘

解决方法:
select (想要查看的字段,可以用 student.id(表,字段) 写入)from 表名 where 两个表中的相同的参数(去重);

内连接 :

inner join on == join on     on相当于where
特点:查询结果必须满足条件,
         on条件后面的两个字段名必须一样,相当于表一和表二都必须拥有这个字段
select 表.字段 from  表一 join 表二  on 表一.字段=表二.字段 ;
等价于
select 表.字段 from  表一 , 表二  on 表一.字段=表二.字段 ;

外连接 :

left join on  左外连接
right join on 右外连接
select 表.字段 from  表一 left join 表二  on 表一.字段=表二.字段 ;

select 表.字段 from  表一 right join 表二  on 表一.字段=表二.字段 ;

SQL书写顺序:select => from => where => group by => having => order by => limit
SQL执行顺序:from => where => group by => having => order by => select => limit

数据库查询语句(DQL)

标签:union all   必须   数据库   别名   笛卡尔   rom   个数   nio   内容   

原文地址:https://www.cnblogs.com/lance-lzj/p/14017193.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!