SQL命令语句——SELECT

本文介绍了SQL中的SELECT命令,包括查看多列、列去重查询(DISTINCT)、算数表达式、定义列别名、连接符(||)、字符串操作、显示表结构(DESCRIBE)以及定长和变长字段类型的区别,如Char和Varchar2。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**

SQL命令语句——SELECT**

 su - oracle                      #切换到oracle用户
 sqlplus / as sysdba        #作为当前用户进入数据库 ,目前数据库还没有启动`

在这里插入图片描述

 startup:                     #打开数据库

在这里插入图片描述

   sqlplus / as sysdba   #作为超级用户进入数据库,看到Connected to:说明已连接到带有企业版的数据库

在这里插入图片描述

  @utlsampl.sql          ## @=调用脚本+脚本名字,执行这个脚本

***在当前路径下调用脚本可以用相对路径,不在当前目录下的脚本,需要绝对路径
(每次执行@utlsampl.sql 这个脚本,就会创建普通用户,建了几张表和数据)

 SQL>conn scott/tiger      #连接scott用户/密码

在这里插入图片描述

**SQL语言规则:
查看多列用逗号“,”隔开
语句结束用分号“;”
不区分大小写
个子句一般要分行写
关键字不能被缩写也不能分行
使用空格提高语句的可读性

1、select 格式

 SELECT    #查找
 *               #(所有列)、列名、表达式等列信息
 FROM      #从哪个表中选择
                             
select * from tab;  #查看所有表数据

在这里插入图片描述

  select * from dept;       #查询部门所有列

在这里插入图片描述

select ,deptno,dname from dept;   #查询部门的部门号和部门名称,按输入顺序列输出

在这里插入图片描述

 select * from emp;     #查找emp表中的所有列信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、列去重查询: distinct

 select distinct deptno from emp;  #去重查找emp表的部门编号

在这里插入图片描述

select distinct comm from emp;     #去重查询emp表中的奖金列信息,空值null不能去重

在这里插入图片描述
3、算数表达式:+ - * /
运算符优先级:乘除高于加减,同一优先级运算符从左向右执行,括号内的运算先执行

select  ename,sal,sal+2000 from emp;    #只有数字列才能使用表达式

在这里插入图片描述

select ename,sal,sal+2000,200+300 from emp;    #查找200+300=常量,输出500常量

在这里插入图片描述

  select ename,sal,comm,comm+10000 from emp;     #null空值的运算是没有输出的,这里与0相区别

在这里插入图片描述

select ename,12*sal+nvl(comm,0) from emp;     #如果查找的的列含有空值null,需要nvl(列名,0)转换成数值0,之后才可以参加数值运算

在这里插入图片描述
4、定义列的别名:

select ename emp_name,sal*12 as "Sal" from emp;  #用别名输出,代替列名
             列名        别名        列名  as 别名

**如别名包含空格或特殊字符,或区分大小写,给列起别名用双引号包裹,剩下sql中都用单引号’’
在这里插入图片描述

5、连接符 || 合成一列

select 'my name is',ename from emp;    #输出2列

在这里插入图片描述

select 'my name is' || ename from emp; #:输出1个合并列

在这里插入图片描述

6、字符串 (需要加单引号,数字不需要)

select 'a' 200,'2019-05-10' from dept;  #可以数字、字符、字母

在这里插入图片描述
7、显示表结构 DESCRIBE

DESC emp;

在这里插入图片描述
8、定长与变长的区别
Char(10) 定长:确定是多少,就不再变了,长度超出则报错!以空间换时间
Varchar2(10) 变长:先判断多长,再存储!以时间换空间!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值