基本的查询sql语句整理
这篇文章主要介绍“基本的查询sql语句整理”,在日常操作中,相信很多人在基本的查询sql语句整理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”基本的查询sql语句整理”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
基本的查询sql语句
一、概述:
学习MySQL数据库中一定要学会sql的查询功能,说白了,使用数据库就是存储数据,查询数据,使用这些数据的一个过程。只有查看了才知道我们是否存储成功,是否可以直接使用这些数据。
二、具体的sql
1、查询数据库的基本语法:
select需要查询的字段名和内容from指定相关的表名where查询时所需要的条件groupby如何对结果分组orderby如何对结果瓶排序having查询时满足的第二个条件limit限定查询输出的结果
(一):单表查询
1、查询所有字段
select*from表名;
2、查询指定字段
select字段名from表名;
3、查询指定数据
select*from表名where条件;
4、带“in”关键字的查询
select*from表名where条件[not]IN(元素1,...元素n);译:not:是一个可选参数,加上not表示不在集合内满足条件元素:表示集合中的元素,各元素之间用逗号分开
5、带“Between And”的范围查询
select*from表名where条件[not]between取值1and取值2;译:not:是一个可选参数,表示不在指定范围内满足条件取值1:表示范围的起始值取值2:表示范围的终止值
6、带“like”的字符匹配查询【实现模糊查询】
like字符来实现模糊查询,一般在我们网页的搜索、检索等部分就要使用到模糊查询而使用的两种通配符:“%”和“_”两个。“%”:可以匹配一个或多个字符,可以代表任意长的字符串“_”:只匹配一个字符,如m_n;以m开头,n结尾的3个字符select*from表名where条件like‘%a’;译:查询这个表中包含a字符的所有数据。
7、带“And”的多条件查询
select*from表名where条件1and条件2;译:使用and关键字连接多个条件
8、带“Or”的多条件查询
select*from表名where条件1or条件2;译:只要满足条件的其中之一都会被查询到
9、使用“distinct”关键字取消重复的数据
selectdistinct字段名from表名;译:取消查询结果中重复的记录行
10、使用“order by”关键字排序
select*from表名orderby[asc][desc];译:orderby:是指使用什么方式来排序asc:是指“升序”排序desc:是指“降序”排序
11、使用“group by”关键字分组
select字段1,字段2,...from表名groupby某个字段1或字段2分组查;同时还可以多个字段进行分组
12、使用“limit”限制查询结果的数量
select*fromorderbyasclimit3;译:查询的结果显示前3条记录
(二)聚合函数查询
1、使用“count()”函数
selectcount(*)from表名;译,统计表中所有的记录
2、使用“sum()”函数
selectsum(row)from表名;译:求出表中行的总数。
3、使用“avg()”函数
selectavg(row)from表名;译:求出表中行的一个平均值
4、使用“max()”函数
selectmax(row)from表名;译:查询表中row字段的最大值
5、使用“min()”函数
selectmin(row)from表名;译:查询表中row字段的最小值
(三)连接查询
1、内连接查询
select字段1,字段2,字段3from表名1,表名2where表名1.字段1=表名2.字段2;实现表与表之间的连接查询就是要确定两张表中都有相同的字段名。
2、外连接查询
外连接与内连接不同,外连接时指使用“outer join”关键字将两张表连接起来。
分为左外连接“left join”、右外连接“right join”、全连接3种类型
语法:
select字段名称from表名1left/rightjoin表名2on表名1.字段1=表名2.字段2;
2.1、左外连接“left join”
左外连接:是指将左表的所有数据分别于右表的每一条数据进行连接组合,返回的结果除内连接的数据外,还包括左表中不符合的数据,并在右表的相应列中添加null值。
select字段名称from表名1leftjoin表名2on表名1.字段1=表名2.字段2;
2.2、右外连接“right join”
右外连接是指将右表中的所有数据分别于左表中的每一条数据进行连接组合,返回的结果除内连接的数据外,还包括右表中不符合的条件的数据,并在左表的相应列中添加null值。
select字段名称from表名1rightjoin表名2on表名1.字段1=表名2.字段2;
2.3、交叉连接“cross join”:笛卡尔积
select*from表1crossjoin表2
(四)子查询
子查询:就是select查询是另一个查询的附属。什么是附属关系,就是一个查询语句查询出来的结果是为第二个查询的一个条件或一个基础、前提等、只有当它查询出来以后才能够查询出第二个的结果。
1、带“in”关键字的子查询
使用in运算符是可以检测结果集中是否存在某个特定的值,如果检测成功就执行外部查询语句。
select*from表名1where字段1in(select字段1from表名2);译:查询表1的所有记录,但是字段1必须要在表2中出现过。
2、带比较运算符的子查询
子查询使用运算符是比较平凡的,包括“=、!=、> 、< 、>=、<=”
3、带“exists”关键字的子查询
使用exists关键字时,内层查询语句不返回查询的记录,而是返回的是一个真假值。
select*from表名1whereexists(select*from表名2where字段名);译:使用子查询查询表2中对否存在某个限定条件的数据,如果有,执行外层的查询数据,如果没有,就只执行内层的查询数据
4、带“any”关键字的字查询
使用any关键字是指只要满足其中任意一个条件,就可以通过改条件来执行外层的查询语句。
5、带“all”关键字的子查询
使用all关键字是指内层的查询语句都必须要满足所有的条件,使用all关键字时,只有满足内层查询的所有条件才能够执行外层查询。
(五)合并查询结果
合并查询结果是将多个select语句查询的结果合并在一个。
1、使用“union”关键字
select*from表1unionselect*from表2;
使用union关键字是将查询出来的结果合并在一个,然后去除相同的、重复的记录。
2、使用“union all”关键字
select*from表1unionallselect*from表2;
使用union all关键字只是将结果合并在一个,不取消重复的记录。
(六)定义表和字段的别名
1、定义表的别名
select*from表名1awherea.字段1;译、定义的这个a就是表的别名,可以减少写表名的时间。
2、定义字段的别名
基本形式:字段名 [AS] 别名
select字段1asA,字段2asBfrom表名;
(七)使用正则表达式查询
基本形式:字段名 regexp ‘匹配方式’
1、模式字符
到此,关于“基本的查询sql语句整理”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。