单表查询(第一章)

本文介绍SQL语言中的基本查询方法,包括全表查询、条件查询、空值处理、列名别名设定、列值拼接及条件逻辑应用等,并提供实例说明。

1.1查询表中的所有的行与列

     select  * from table;

1.2根据条件查询【where】

     select * from table where column = 'xxx';

1.3查找为空值列【IS NULL】

     select * from table where column is null;-->为空

     select * from table where column is not null;-->不为空

1.4将空值转换为实际值

     select coalesce(null,'2',null,'3','1') as str from dual; -->2

1.5查找满足多条件的行[or < and < not < between_and < is null 、like 、in]

    select * from table where column1 = 'xx' or column2 = 'xxx'  and column3 = 'xxxx';

1.6从表中检索部分列

     select column1,column2,column3 from table;

1.7为列表取有意义的名称【AS】

     select column1 as '第一列',column2 as '第二列',column3 as '第三列' from table;

1.8在where子句中引用取别名的列

     select * from (select column1 as '第一列',column2 as '第二列',column3 as '第三列' from table)  x where 第一列 = 'xxx';

1.9拼接列【||】

     select column1 || '拼接' || column2 as str from table;-->第一列的值 拼接 第二列的值

1.10在select语句中使用条件逻辑[case when_then ....when_then.....esle ....end ]

      select ename, sal, case

                                         when sal <= 2000 then '过低'

                                         when sal >= 9000 then '过高'

                                          else '一般'

                                       end as '情况'

             from table;

1.11限制返回的函数[rownum]

      select * from table where rownum <= 2;-->取前两条记录

      select * from (select rownum as sn,table.* from table) where sn = 2;-->取第二条数据

1.12从表中随机返回n条记录[dbms_random.value()对数据随机排序,运行顺序:select > where >order by]

       select * from 

                          (select * from table order by dbms_random.value())-->先对数据随机排序

       where rownum <= 3; -->取排序后的前三条数据

       select * from table where rownum <= 3 order by dbms_random.value();-->先取出前三条数据,再对其随机排序

1.13模糊查询[like]

      select * from emp where hiredate like '%2月%';

       select * from emp where hiredate like '\\_2月%' escape '\';-->对通配符进行转义(_)

注意事项

①、select replace('abc','a',null) as str from dual;[dual是伪表,利用伪表可以设置或查看序列或调用一些内置函数]

        oracle数据库返回值     str   bc;(只将a的值替代为空)

        mySql数据库返回值     str      ;(全部被替代为空)

②、select greatest(1,2,3,null) as str from dual;[返回列表中找最大值]

        返回值   str null

③、select least(1,2,3,null) as str from dual;[返回列表中找最小值]

       返回值    str null

④、select coalesce(null,'2',null,'3','1') as str from dual; [返回列表中第一个不为空的值(列表可以多个值) coalesce() 函数 ]

       返回值    str 2

⑤、select nvl(null,'2') as str from dual;[返回列表中第一个不为空的值(列表中只能放两个值)  nvl()函数  mySql数据库无该

       函数 ]

       返回值    str  2 

⑥、truncate table tableName[删除表数据,保留表结构]

       a.删除表数据,但保留表结构;b,速度快,但不可回滚;c.无法触发任何操作;d.行标识的序号重置。

内置函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值