SQL中SELECT语句详解
本篇⽂章讲述SQL语句中的SELECT查询语句,以供参考,如有错误或不当之处还望⼤神们告知。
简单查询SELECT-FROM
⽤于⽆条件查询单张表中的⾏或列
假设有表如图所⽰
查询名字叫 ‘叶清逸’ 的记录:
select * from T_USER where u_name = '叶清逸' ;
查询结果:
查询⼀个或多个属性,u_name,u_age,u_score:
select u_name,u_age,u_score from T_USER ;
查询结果:
AS关键字
使⽤AS给查询结果取别名(AS也可以省略):
--可加""也可不加如果不加双引号默认字母⼤写如果需要⼩写字母或别名由多个字母组成则需要加上双引号。
--AS也可省略。
select
u_name as名字,
u_age as"年龄" ,
u_score 成绩
from T_USER ;
算数运算符
SELECT中可以对数字和⽇期进⾏加减乘除运算
select u_name , u_score , u_score+10 , u_score-10 , u_score*2 , u_score/2
from T_USER ;
运⾏结果:
连接符 “||”
SQL中的连接符”||” 可将结果连接起来为⼀列
- 将u_name 和“的成绩为” u_score 连接起来
select
u_name || '的成绩为' || u_score as成绩
from T_USER ;
查询结果:
条件查询SELECT-WHERE
SQL中可以⽤SELECT-WHERE进⾏条件查询
⽐较运算 ‘<’ ‘<=’ ‘>’ ‘>=’ ‘!=’
SQL中可以使⽤ 条件运算符 ‘<’ ‘<=’ ‘>’ ‘>=’ ‘!=’ 过滤查询结果中的某些⾏,多个条件之间可以⽤ ‘and’ 连接。 - 查询T_USER表中成绩⼤于等于60分的学⽣
select u_name , u_score
from T_USER
where u_score >= 60 ;
与条件 (AND,BETWEEN)
查询A-B区间
查询T_USER表中成绩⼤于等于60分且⼩于等于80分的学⽣AND写法
select语句查询日期select u_name , u_score
from T_USER
where u_score >60and u_score <80
BETWEEN写法
select u_name , u_score
from T_USER
where u_score between 60and80 ;
查询结果:
或条件(OR,IN)
SQL中⽤于或运算的关键字OR和IN
查询分数⼤于90分或者⼩于60分的记录-OR
select u_name , u_score
from T_USER
where u_score >90or u_score <60 ;
运⾏结果:
- 查询成绩为100,98,65的学⽣-IN
select u_name , u_score
from T_USER
where u_score in(100,98,65) ;
运⾏结果:
⾮条件(!=,NOT)
查询名字不叫 ‘叶清逸’ 的记录
!=写法
select *
from T_USER
where u_name != '叶清逸' ;
NOT写法
select *
from T_USER
where u_name not like'叶清逸' ;
查询结果:
模糊查询LIKE
SQL中可以使⽤模糊查询like,其中 ‘_’ 占⼀位 ‘%’占多位。
查询名字中有 ‘清’ 字的记录
可以有三种表⽰⽅式,结果等价
1. 包含’清’: %清%
2. 第⼆位为’清’:_清%
3. 倒数第⼆位为’清’:%清_
select *
from T_USER
where u_name like'%清%' ;
查询结果:
注:若要查询数据含有’_’ 关键字 则需使⽤ escape定义⼀个转义字符。如:like ‘%#_%’ escape ‘#’
查询排序ORDER BY
SQL中可以对查询结果进⾏排序,DESC表⽰按从⼤到⼩排序,ASC表⽰按从⼩到⼤排序,默认为从⼩到⼤排序。 - 将T_USER表按成绩从⼤到⼩排序
select *
from T_USER
order by u_score desc ;
查询结果:
ORDER BY 语句也可以⽤逗号隔开,表⽰如果上⼀个条件相同,接下来的排序⽅式。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。