首页 » 技术分享 » SQL中SELECT语句详解

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 u_name , u_score
from T_USER 
where u_score >60 and u_score <80
  • BETWEEN写法
select u_name , u_score
from T_USER 
where u_score between 60 and 80 ;

查询结果:
这里写图片描述

或条件(OR,IN)

SQL中用于或运算的关键字OR和IN

  • 查询分数大于90分或者小于60分的记录-OR
select u_name , u_score
from T_USER 
where u_score >90 or 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 语句也可以用逗号隔开,表示如果上一个条件相同,接下来的排序方式。

转载自原文链接, 如需删除请联系管理员。

原文链接:SQL中SELECT语句详解,转载请注明来源!

0