精华内容
下载资源
问答
  • SQL中SELECT语句详解

    万次阅读 多人点赞 2018-06-04 17:12:25
    本篇文章讲述SQL语句中SELECT查询语句,以供参考,如有错误或不当之处还望大神们告知。 简单查询SELECT-FROM 用于无条件查询单张表的行或 假设有表如图所示 查询名字叫 ‘叶清逸’ 的记录: 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 语句也可以用逗号隔开,表示如果上一个条件相同,接下来的排序方式。

    展开全文
  • 问题:按授课班号统计选修该课程的人数,并按照人数升序排列。 --cno是课程号,sno是学号,sc是选修课程表...当select语句中出现了不group by语句的字段就会报错,错误信息也表示是这个错误。 个人理解,原因如下.

    问题:按授课班号统计选修该课程的人数,并按照人数升序排列。

    --cno是课程号,sno是学号,sc是选修课程表
    select cno,COUNT(distinct sno) as 人数 from sc
    group by cno
    order by 人数 ASC
    

    上面的select语句中包含了cno以及聚集函数,最后的运行结果如下图:
    在这里插入图片描述
    下面看看删去cno 改成sno的运行结果:
    **加粗样式
    **
    当select语句中出现了不在group by语句中的字段就会报错,错误信息也表示是这个错误。
    个人理解,原因如下:

    • group by是按照给定的属性进行分组,分组后每个组可能出现多值,例如题目中分组后一组可能有多个选修该课程的同学,在这种情况下再使用其余属性名去访问或查找时会出现歧义,例如SQL中select的是名字,一个班很多人没有办法给定
    • 那么为什么可以存在聚集函数?首先得看看代码执行顺序
    • 1.from子句组装来自不同数据源的数据;
      2.where子句基于指定的条件对记录行进行筛选;
      3.group by子句将数据划分为多个分组;
      4.使用聚集函数进行计算;
      5.使用having子句筛选分组;
      6.计算所有的表达式;
      7.使用order by对结果集进行排序;
      8.select 集合输出。
    • 可以看出,聚集函数是在group by之后执行的,所以会在各个分组中进行执行,不会出现有歧义的情况。

    以上是个人理解,如有错误欢迎指出!

    展开全文
  • select语句

    千次阅读 2017-04-22 10:19:47
    select语句   1、查询当前用户是谁 show user;   2、查询scott用户下的所有对象,使用tab表,tab表每个用户都有 select * from tab;   3、设置显示的列宽,10个宽度位,a表示字符型,大小写均可 column...

    select语句

     

    1、查询当前用户是谁

    show user;

     

    2、查询scott用户下的所有对象,使用tab表,tab表每个用户都有

    select * from tab;

     

    3、设置显示的列宽,10个宽度位,a表示字符型,大小写均可

    column ename format a12;

    column hiredate format a10;

     

    4、设置显示的列宽(数值型number),9表示数字型,一个9表示一个数字位,四个9表示四个数字位,只能用9

    column empno format 9999;

    column mgr format 9999;

    column sal format 9999;

    column comm format 9999;

    column deptno format 9999;

     

    5、设置一页显示80个条记录的高度

    set pagesize 80;

     

    6、使用/杠,执行最近一次的SQL语句

    /

     

    7、清屏,属于SQL*PLUS工具中的命令

    host cls;

    clear screen;

     

    8、查询emp表的结构

    desc emp;

     

    9、查询emp表的所有内容,*号表示通配符,表示该表中的所有字段,但*号不能和具体字段一起使用

    select * from emp;

    Select  empno,ename,sal,deptno  from  emp;

     

    10、查询emp表的员工编号,姓名,工资,部门号,列名,大小写不敏感,但提倡大写

    Select  empno ,ename ,sal,deptNO  FROM  Emp;

     

    11、查询emp表的不重复的工作

    select distinct job from emp;

     

    12、查询员工的编号,姓名,月薪,年薪(月薪*12)

    select  empno,ename,sal,sal*12  from  emp;

     

    13、查询员工的编号,姓名,入职时间,月薪,年薪,年收入(年薪+奖金)

    Select  empno,ename,hiredate,sal,sal*12,sal*12+comm  from  emp;

    如果结果为null,在sqlplus客户端工具中,是不显示null这个值的

     

    解决null的问题:使用NVL()函数,NVL(a,b):如果aNULL,用b替代;如果a是非NULL

    就不用b替代,直接返回a的值

    select NVL(null,10) from emp;结果有14行记录

    select NVL(null,10) from dual;结果有1行记录

    Select  empno,ename,hiredate,sal,sal*12,sal*12+comm +NVL(comm,0) from emp;

    注意:null与具体数字运算时,结果为null

     

    14、使用列别名,查询员工的编号,姓名,月薪,年薪,年收入(年薪+奖金)AS大小写都可且可以省略AS,别名用双引号

    select empno AS "编号",ename as "姓名",sal "月薪" from emp;

    select empno AS 编号,ename as 姓名,sal 月薪 from emp;

    区别

    select empno AS "编号",ename as 姓名,sal "月  薪"  from emp;

    不加双引号的别名不能有空格;加了双引号的别名可以有空格要加只能加双引号,不能加单引号,因为在oracle中单引号表示字符串类型或者是日期类型列名不能使用单引号,因为oracle认为单引号是字符串型或日期型

     

    15使用dual哑表或者伪表,使用字符串连接符号||,输出"hello world",在oraclefrom是必须写的

    select 'hello' || ' world' "结果" from dual;

     

    16使用sysdate,显示系统当前时间,在默认情况下,oracle只显示日期,而不显示时间,格式:26-4-15

    select sysdate from dual;

     

    17使用字符串连接符号||,显示如下格式信息:****的薪水是****美元

    select ename || '的薪水是' || sal || '美元'  from emp;

     

    18使用spool命令,保存SQL语句到硬盘文件e:/oracle-day01.sql,并创建sql文件

    spool e:/oracle-day01.sql;

     

    19使用spool off命令,保存SQL语句到硬盘文件e:/oracle-day01.sql,并创建sql文件,结束语句

    spool off;

     

    20使用@命令,将硬盘文件e:/crm.sql,读到orcl实例中,并执行文件中的sql语句

    @ e:/crm.sql;

     

    21使用- -符号,设置单行注释

    --select * from emp;

     

    22使用/* */符号,设置多行注释

    /*

    select

    *

    from

    emp;

    */

     

    展开全文
  • SELECT 语句详解

    千次阅读 2017-08-11 14:54:27
    建立三张表:department 、employee 、 ...(1)SELECT语句的基本格式为: SELECT 要查询的列名 FROM 表名 WHERE 限制条件 ps:如果要查询表的所有内容,则把要查询的列名用一个星号 * 表示。 例子:《1》查
    建立三张表:department 、employee 、 project
     








    1、基本的SELECT 语句
    (1)SELECT语句的基本格式为:
    SELECT 要查询的列名 FROM 表名 WHERE 限制条件
    ps:如果要查询表的所有内容,则把要查询的列名用一个星号 * 表示。

    例子:《1》查询表的所有内容:
    《2》查询表指定的列:

    2、数字符号条件:
    WHERE限制条件能够达到更加精确的查询。
    WHERE限制条件可以有数字符号(=,< , > , >= , <=)
     
    例:筛选出age>25:

    3、 AND 与 OR:
     WHERE 后面可以跟多条限制条件,根据条件之间的逻辑关系,可以用AND 或OR 连接。

    例:《1》筛选出age<25 或 age>30


    《2》筛选出age>25 and age<30;
     

    4、IN  和 NOT IN
    关键词IN 和NOT IN 用于筛选‘在’或 ‘不在’某个范围内的结果。

    例:《1》查询在dpt3 或 dpt4的人:


    《2》查询不在dpt1也不在dpt3的人:


    5、通配符
    关键字LIKE (like)在SQL语句中和通配符(_  和 %)一起使用。
    通配符代表未知字符,_代表一个未指定字符%代表不定个未指定字符

    例:《1》只记得电话号码前四位为1101,忘记后两位,则可以用两个_通配符代替:


    《2》只记得名字首字母,又不知道名字长度,则用%通配符代替不定个字符:


    6、对结果排序:
    对结果按照某一列来排序,要用关键字ORDER BY(order by)排序关键字。默认情况下,ORDER BY 的结果是升序排列,而使用关键字ASCDESC 可指定为升序或降序排序。

    例:按salary降序排序:


    7、SQL内置函数和计算:
    (1)SQL允许对表中的数据进行操作。
    (2)SQL有5个内置函数:

     PS:COUNT函数可用于任何数据类型(因为它只是计数);
           SUM、AVG函数只能对数字类数据类型做计算;
           MAX 和 MIN 可用于数值、字符串、日期时间数据类型

    例:计算出salary的最大、最小值:

    使用关键字AS可以给值重命名,例如最大值被命名为max_salary。

    8、子查询
    处理多个表才能获得所需信息时,使用子查询。子查询可以扩展到3层、4层或更多层。

    例如:想知道名为‘Tom’的员工所在部门做了几个工程。员工信息存储在employee中,但工程信息储存在project表中。


     9、连接查询:
     在处理多个表时,子查询只有结果在一个表时才有用,但如果需要显示两个表或多个表中的数据,必须使用连接(join)操作。

    《1》连接的基本思想就是把两个或多个表当作一个新的表来操作,如下:
     

    《2》另一个连接语句格式:使用JOIN ON 语法:《1》语句等同于:


    作业:使用连接查询的方式,查询出各员工所在部门的人数与工程数,工程数命名为count_project。






    参考:https://www.shiyanlou.com/courses/running

    展开全文
  • 基本select语句分析

    千次阅读 2019-03-14 20:42:11
    数据查询时数据库的核心...这篇文章主要讲解了基本select语句中各个子句的作用 一般格式: select... (select子句,需要向前端用户展示的数据) from... 1. 首先找到数据源(后接表名,表名前可以加数据库名,...
  • MySQL-SELECT 语句详解

    万次阅读 多人点赞 2017-02-14 08:41:12
    数据库操作语句,使用最频繁,也被认为最重要的是 SELECT 查询语句。之前的实验,我们已经不少地方用到了 SELECT * FROM ...1、基本的SELECT语句 SELECT 语句的基本格式为: SELECT 要查询
  • Oracle之SELECT语句

    万次阅读 2016-10-16 17:26:01
    (1)SELECT关键字后面需要跟要查询的列名,如果要查询该表所有列,可以使用*来代替所有的列名,然后跟着FROM关键字,FROM关键字后面紧跟着要查找字段所在的表的表名,最后用分号;来结束该条SQL语句。 (2)...
  • select 语句详解

    千次阅读 2019-08-14 19:42:32
    1. select 的基本语法: select 列名 from 表名 where 条件 条件: <、 > 、= 、 <...-- 查找所有列 select * from employee; -- 按照名字查找 select name, age, phone from employee where na...
  • 基本select语句

    千次阅读 2018-05-14 10:41:41
    --------------基本select语句总结 8.6--------------------------------------------------------------------------------SQL:结构化查询语句---------------------------------一 、基 本 查 询 语 法-----------...
  • SQL命令的基本select语句

    千次阅读 2005-12-20 23:22:00
    众多的SQL命令select语句应该算是使用最频繁的。Select语句主要被用来对数据库进行查询并返回符合用户查询标准的结果... ([] 表示可选项) select语句中位于select关键词之后的列名用来决定那些将作为查询结
  • sql中select语句详解及用途

    千次阅读 2015-06-02 15:13:08
    SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]  * | expression [ AS output_name ] [, ...]  [ FROM from_item [, ...] ]  [ WHERE condition ]  [ GROUP BY expression [, ...] ]  
  • 了解SELECT语句的基本语法格式和执行方法; 了解连接查询的表示及使用; 掌握嵌套查询的使用的方法; 请使用T-SQL 语句实现进行以下操作 注意:以下所有实验基于该表✈点击前往查看 1. 查询名字第2个字为‘小’...
  • select查询语句

    万次阅读 2017-04-26 13:08:54
    如果要查询表的所有内容,则把 要查询的列名 用一个星号 * 号表示(实验2、3中都已经使用过),代表要查询表中所有。 而大多数情况,我们只需要查看某个表的指定的,比如要查看employee 表的 name 和 age...
  • SELECT语句语法格式

    千次阅读 2017-05-04 22:18:33
    select select_list [into new_table_name] from table_source [where search_conditions] [group by group_by_expression] [having search_conditions] [order by order_expression [ASC|DESC]] 说明: ...
  • SELECT 表示查询,随后出需要返回的字段,字段间逗号分隔 FROM 表示要从哪个表进行查询 分号为语句结束符 这种查询表指定字段的操作关系运算被称为投影(Projection) 使用 SELECT 子句进行表示。投影是...
  • SQL 检索数据(select语句

    千次阅读 2018-09-24 21:31:10
    SELECT语句用于从一个或多个表检索信息。 检索单个 命令 SELECT 列名 FROM 表名; 注意:语句将返回表中所有行,数据没有过滤(过滤将得出结果集的一个子集),也没有排序。 检索多个 命令 SELECT ...
  • SELECT 语句中Having子句的使用

    万次阅读 2008-01-25 17:34:00
    Having和Where作用是相近的,只不是一个用于普通...例:select pname,count(*) as cnt from ar where count(*) >1 group by pname 是错误的,正确的应该是select pname,count(*) as cnt from ar group by pname having
  • 数据库基础:select基本查询语句

    万次阅读 多人点赞 2019-03-20 13:40:05
    数据库基本查询语句规范为:select 区域 from 表名 查询指定表 select * from 表名 *:代表所有列 示例:select * from TL_REQUEST 查询指定 select 列名 from 表名 列名:代表从指定的列名查找 ,:...
  • sql子查询 嵌套SELECT语句

    千次阅读 2013-08-23 15:13:24
    嵌套SELECT语句也叫子查询,一个 SELECT 语句的查询结果能够作为另一个语句的输入值。子查询不但能够出现Where子句,也能够出现from子句,作为一个临时表使用,也能够出现select list,作为一个字段值来...
  • 现在要查,sex为男,age为20的那些数据,可用如下语句select * from student where sex='男' and age=20;   SELECT * FROM Persons WHERE City='Beijing' SELECT * FROM Persons WHERE ...
  • SELECT查询语句及其所有子句 顺 序 号 子句关键词 子 句 功 能 1 SELECT 从指定表取出指定的的数据 2 FROM 指定要查询操作的表 3 ...
  • hive sql select语句总结

    万次阅读 2018-06-08 16:16:25
    Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储Hadoop 分布式文件系统的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为...
  • select语句(5)--多表查询

    千次阅读 2016-09-17 01:11:31
    数学,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X × Y. 假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。 数据库...
  • select 1 from table 语句中的1代表什么意思

    万次阅读 多人点赞 2016-04-13 11:05:20
    这里我主要讨论的有以下几个select 语句: doo_archive表是一个数据表,表的行数为4行,以下同。 1:select 1 from doo_archive ...对于这三条select语句,我oracle测试了一下,发现结果如下:
  • select子句里能支持另一个select语句的实现形式如下(即要配合case when关键字): select case when lock_purpost in(SELECT id from data_dictionary) then (SELECT name from data_dictionary where id=...
  • 基本的SQL SELECT语句

    千次阅读 2017-03-15 00:07:33
    了解Oracle数据库的基本概念之后,现在开始介绍Oracle第一部分的内容,也即最简单的一部分内容,即增删改查的SQL语句。本文主要讲解Oracle基本的查询语句。 我们说过本机和虚拟机之间是能够进行通信的,所以以后...
  • select语句详解(包括JOIN的用法等)

    万次阅读 2014-06-11 17:19:18
     SELECT语句用来从数据库检索满足特定条件的记录。一个SELECT语句主要包含如下几部分: 从哪个或哪些表或视图提取数据 选取表的哪些 选择满足什么条件的数据 查询结果以什么顺序显示
  • ASP使用SQL-select语句

    千次阅读 2006-11-06 13:59:00
    MySQL、SQL Server和mSQL都是绝佳的SQL工具,可惜,ASP的环境下你却用不着它们来创建实用的SQL语句。不过,你可以利用自己掌握的Access知识以及相应的Access技能,再加上我们的提示和技巧,相信一
  • SQL 查询语句先执行 SELECT?兄弟你认真的么?

    万次阅读 多人点赞 2020-05-02 19:57:21
    SQL 查询的执行顺序是怎样的? 好像这个问题应该很好回答,毕竟自己已经写了无数个 SQL ...言归正传,SELECT语句的完整语法如下: 1. SELECT 2. DISTINCT <select_list> 3. FROM <left_table> 4....
  • SELECT语句的完整语法

    千次阅读 2010-04-28 14:03:00
    SELECT语句的完整语法为: SELECT[ALL|DISTINCT|DISTINCTROW|TOP] {*|talbe.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]} FROM tableexpression[,…][IN externaldatabase] [WHERE…] [GROUP BY...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 229,859
精华内容 91,943
关键字:

在select语句中表示所有列