SQL中SELECT语句详解


简单查询SELECT-FROM

作者:叶清逸
来源:CSDN
原文:https://blog.csdn.net/u013634252/article/details/80569386

用于无条件查询单张表中的行或列

假设有表如图所示
这里写图片描述

  • 查询名字叫 ‘叶清逸’ 的记录:

 

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中可以对数字和日期进行加减乘除运算
1 select u_name , u_score , u_score+10 , u_score-10 , u_score*2 , u_score/2 
2 from T_USER ;

运行结果:
这里写图片描述

连接符 “||”

SQL中的连接符”||” 可将结果连接起来为一列
- 将u_name 和“的成绩为” u_score 连接起

1 select 
2 u_name || '的成绩为' || u_score as 成绩
3 from T_USER ;

查询结果:
这里写图片描述
条件查询SELECT-WHERE

SQL中可以用SELECT-WHERE进行条件查询
比较运算 ‘<’ ‘<=’ ‘>’ ‘>=’ ‘!=’

SQL中可以使用 条件运算符 ‘<’ ‘<=’ ‘>’ ‘>=’ ‘!=’ 过滤查询结果中的某些行,多个条件之间可以用 ‘and’ 连接。
- 查询T_USER表中成绩大于等于60分的学生

1 select u_name , u_score
2 from T_USER 
3 where u_score >= 60 ;

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

与条件 (AND,BETWEEN)

查询A-B区间

    • 查询T_USER表中成绩大于等于60分且小于等于80分的学生
    • AND写法
1 select u_name , u_score
2 from T_USER 
3 where u_score >60 and u_score <80

BETWEEN写法

1 select u_name , u_score
2 from T_USER 
3 where u_score between 60 and 80 ;

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

或条件(OR,IN)

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

    • 查询分数大于90分或者小于60分的记录-OR
1 select u_name , u_score
2 from T_USER 
3 where u_score >90 or u_score <60 ;

运行结果:
这里写图片描述
- 查询成绩为100,98,65的学生-IN

1 select u_name , u_score
2 from T_USER 
3 where u_score in(100,98,65) ;

运行结果:
这里写图片描述

非条件(!=,NOT)

    • 查询名字不叫 ‘叶清逸’ 的记录
    • !=写法
1 select *
2 from T_USER 
3 where u_name != '叶清逸' ;

NOT写法

1 select *
2 from T_USER 
3 where u_name not like '叶清逸' ;

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

模糊查询LIKE

SQL中可以使用模糊查询like,其中 ‘_’ 占一位 ‘%’占多位。

    • 查询名字中有 ‘清’ 字的记录
    • 可以有三种表示方式,结果等价
      1. 包含’清’: %清%
      2. 第二位为’清’:_清%
      3. 倒数第二位为’清’:%清_
1 select *
2 from T_USER 
3 where u_name like '%清%' ;

查询结果:
这里写图片描述
注:若要查询数据含有’_’ 关键字 则需使用 escape定义一个转义字符。如:like ‘%#_%’ escape ‘#’
查询排序ORDER BY

SQL中可以对查询结果进行排序,DESC表示按从大到小排序,ASC表示按从小到大排序,默认为从小到大排序。
- 将T_USER表按成绩从大到小排序

1 select *
2 from T_USER 
3 order by u_score desc ;

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

ORDER BY 语句也可以用逗号隔开,表示如果上一个条件相同,接下来的排序方式。

---------------------
作者:叶清逸
来源:CSDN
原文:https://blog.csdn.net/u013634252/article/details/80569386


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM