目录
- 一、基础select语句
- 1、查询指定字段
- 3、设定别名
- 4、常数的查询
- 5、表达式的查询
- 6、去重
- 7、条件查询
- 7.1 单条件查询
- 7.2 多条件查询
- 7.3 指定范围查询
- 7.4 模糊查询
sql语句中,查询是使用最多的操作,sql不仅能够查询表中的数据,还可以返回算术运算、表达式的结果等,接下来就一起了解一下基本的查询语句。
一、基础select语句
1、查询指定字段
语法格式:
select <字段名>,... from <表名>;
在语句中可以指定多个字段,结果会根据指定的字段进行显示。
例如:在users用户表中查询用户id、用户名、昵称、性别信息:
select user_id,user_name,nick_name,sex from users;
2、查询全部字段
查看表中的全部字段可以使用星号”*”表示,例如,以下语句查询users
用户表中的所有数据:
select * from users;
“*”代表所有字段,数据库在解析该语句时,会使用表中的字段名进行扩展,根据实际情况将”*”换成user_id
、user_name
、nick_name
、sex
、mobile
、email
等表的字段。
3、设定别名
使用as关键字可以为列设定别名。
select user_id as id
,user_name as
用户名称,nick_name as
昵称,sex as
性别 from users
;
4、常数的查询
select
语句中不仅可以书写列名,而且还可以书写常数,
如下:
select 100; select '用户';
5、表达式的查询
select 98%100;
6、去重
select
语句中可以使用distinct
关键字去除查询结果中的重复记录,例如,去除user_name
重复的数据:
select distinct user_name from users;
注意: distinct对null是不进行过滤的,即返回的结果中是包含null值的;
当distinct
应用到多列的时候,应用范围是其后面跟的所有字段,而且distinct
只能放到所有字段的前面,也就是第一个列名之前。
select distinct user_name,nick_name from users;
7、条件查询
select
语句通过where
子句来查询符合指定条件的记录,where
子句要紧跟在from
子句之后。
select <字段名>,... from <表名> where <条件表达式>;
7.1 单条件查询
查询性别为男性的用户:
select * from users where sex='男';
查询年龄小于等于24的用户:
select * from users where age<=24;
查询用户id不是3的用户:
select * from users where not user_id=3;
在第3个例子中使用了not
运算符,在条件前加not
就代表否定这个条件,查找这个条件以外的记录。
7.2 多条件查询
查询年龄小于等于24或者性别为男性的用户:
select * from users where age<=24 or sex='男';
查询年龄小于等于24并且性别为男性的用户:
select * from users where age<=24 and sex='男';
上面使用了多条件查询,条件能同时成立and
运算符,条件只能成立一个用or
运算符。
7.3 指定范围查询
查询用户id在(2,3,7,8)范围内的用户:
select * from users where user_id in (2,3,7,8);
in在where
子句中规定多个值,in后跟圆括号,括弧内可以有一个或多个值,值之间由逗点分开,值可以是数字或者字符。
查询用户id在10-15之间的用户:
select * from users where user_id between 10 and 15;
between ... and
指定介于两个值之间的数据范围,这些值可以是数值、文本或者日期。
7.4 模糊查询
like
关键字用于sql
的模糊查询,用于对搜索字符串进行模式匹配。
语法格式:
字段名 like pattern
匹配模式:
%
:百分号匹配零个、一个或多个字符-
:下划线符号匹配单个字符
模式 | 含义 |
---|---|
like ‘a%’ | 匹配以a开始的字符串,如abc、ab |
like ‘%y’ | 匹配以y结尾的字符串,如aay、xy |
like ‘%mn% | 匹配包含mn的字符串,如amnb、lmn |
like ‘a_’ | 匹配以a开始,后面只有一个字符的数据,如ay、ab |
like ‘_y’ | 匹配以y结尾,前面只有一个字符的数据,如ay,xy |
例如:
查找用户昵称包含tigeriaf
的数据:
select * from users where nick_name like '%tigeriaf%';
到此这篇关于sql基础的查询语句的文章就介绍到这了,更多相关sql基础查询语句内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!