SQL的简单查询语句

此篇文章将包含三个模块

  • 环境变量的配置
  • 简单的表设置
  • 简单的表查询

环境变量

. oraenv后要输入这个oracle   orcl才能继续进入到SQL中

而直接输入sqlplus是不能进入到sql中的,要想直接进入就要更改环境变量

什么是环境变量?

举例:

设置变量 XINGMING 为123 echo出来的就是123

查看用户的用户名

Linux的内核是根据这些路径逐个寻找输入的目录(找到则不再寻找) echo $PATH

在那些路径中找到后,就写在hash表中,hash在内存中,系统重启后,hash表就被重置

更改环境变量:一般将环境变量写在bashrc里

[oracle@localhost ~]$ vim .bash_profile

追加如下内容:

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1

export ORACLE_SID=orcl

export PATH=$PATH:$ORACLE_HOME/bin

说明:

     ORACLE_BASE是所有的软件安装存放的路径

      ORACLE_HOME是oracle数据库软件安装存放的路径

      ORACLE_SID是数据库名称

      =是赋值的意思,引用原有的PATH变量,在其后追加ORACLE变量

将以上内容放入到ORACLE用户的环境变量中

export是对全局的shell中生效

追加完成之后,需要生效该环境变量

[oracle@localhost ~]$ source .bash_profile


简单的表设置

查看/设置:

  1. 查看当前用户
  2. 查看/设置行宽度
  3. 查看/设置页宽度
  4. 修改列宽度

show是SQLPLUS的用法,所以可以不用带;

SQL> show user  

SQL> show linesize     SQL> set linesize 300

SQL> show pagesize   SQL> set pagesize 300

SQL> col c1 format a20  将列c1(字符型)显示最大宽度调整为20个字符

SQL> clear columns; 重置为默认值

如果想要永久生效

Vim $ORACLE_HOME/sqlplus/admin/glogin.sql

检查:

修改列宽度测试:

重置为默认值测试:


简单的表查询

简单查询

语法:

SELECT  [DISTINCT]*|   字段   [别名][,字段   [别名]]  FROM   表名称   [表别名]

举例:

注意,要先导入本地数据库,才能继续表的查询,这是显而易见的,具体请看这篇文章

https://blog.csdn.net/qq_41959899/article/details/104716300

  • 查询每个雇员的职位,注意删除重复项

简单查询中,可以使用四则运算符

  • 查询每一个雇员的姓名,职位和基本年薪

  • 每个月每个人有200的饭补和100的车补,计算年薪

  • 使用||连接符

限定查询

语法:

SELECT [DISTINCT]*|  字段  [别名][字段 [别名]]  FROM  表名称  [表别名]  [WHERE 条件(s)]

条件:

>,>=,<,<=,!=(<>),BETWEEN...AND...,LIKE,IN,IS NULL,AND,OR,NOT

具体举例:

1.关系运算

  • 要求查询出基本工资高于1500的所有雇员信息

  • 查询出所有职位是办事员的雇员信息 注意:在oracle数据库,数据区分大小写

  • 查询工资在1500-3000之间的全部雇员信息

select * from emp where sal>=1500 and sal<=3000;

select * from emp where sal between 1500 and 3000;

select * from emp where sal>1500 and sal<3000;

  • 查询职位是办事员,或者是销售员的全部信息,并要求这些雇员的工资大于1200,注意优先级

select * from emp where (job='CLERK' or job='SALESMAN')  and sal>1200;

  • 查询所有不是办事员的雇员信息

select * from emp where job<>'CLERK';

select * from emp where job!='CLERK';

select * from emp where NOT job='CLERK';

2.范围判断

BETWEEN 最小值 AND 最大值

  • 查询基本工资在1500-3000的雇员信息 求反

select * from emp where sal between 1500 and 3000;

select * from emp where not sal between 1500 and 3000;

判断是否为空  IS(NOT) NULL,空值不是数字0或者空字符串

  • 查询出所有领取奖金的雇员信息

select * from emp where comm is not null;

select * from emp where not comm is null;

注意这里的奖金为0并不能说明是空的,只是他没有获得奖金

  • 查询所有不领取奖金的雇员,comm栏没有东西的才是没有奖金的

select * from emp where comm is null;


以上的思维导图总结

发布了52 篇原创文章 · 获赞 69 · 访问量 4533

猜你喜欢

转载自blog.csdn.net/qq_41959899/article/details/104735949