Oracle学习——单表查询——特定列、全部列、排除重复行、算术运算符、null、空值和默认值

单表查询:

语法格式:

SELECT * | {[DISTINT] column | expression[alias],...}
			FROM table_name [WHERE condition];
			
		Table_name 指定表名 		 colum指定列名 			expression 指定表达式
		Alias 指定列的别名        condition指定查询条件

假如我们有一张学生表,如下:

  Create table stuent(
  		sid number(8,0),
		name varchar2(20),
		sex char(2), 
		class_name varchar2(30),
		birthday date,
		addess varchar2(50)
	);

特定列查询

select sid from student;

全部列查询

select * from student

排除重复行 distinct

默认情况下,当执行查询操作时,会显示所有满足条件的行,包括重复行。

例如学生表中 班级名称 一列,肯定有很多学生属于一个班级,但是你想查询一共有几个不同的班级名称,就可以:

	select distinct class_name from student;
	
加入 distinct之后就不会显示重复行了。

日期列的查询

日期列:是指数据类型为日期类型的列,如DATE类型。

日期列的默认显示格式为DD-MON-RR

RR代表年,而且只取年份的后两位数字

RR和YY区别RR根据区间 YY当前+后两位(不懂自行百度,没啥用处)

以简体中文显示日期结果:

将会话的NLS_LANGUAGE参数设置为SIMPLIFIED CHINESE
		ALTER SESSION SET nls_language=’SIMPLIFIED CHINESE’;

以美国英语显示日期结果

将会话的NLS_LANGUAGE参数设置为AMERICAN
				ALTER SESSION SET nls_language=’AMERICAN’;

以特定格式显示日期结果

如果希望定制日期显示格式,并按照特定方式显示日期结果,那么可以修
				改会话的NLS_DATE_FORMAT参数。
				ALTER SESSION SET nls_date_fomat = ‘YYYY/MM/DD’;

查询语句中算术运算符的使用

可应用在数字和日期的列上
			如求雇员的年收入(年收入表上没有,需要计算) sal表示员工平均月收入
				SELECT empno,ename,sal,sal * 12 FROM emp;
			优先级:和数学运算的优先级相同
				SELECT empno,ename,sal*12+sal/2 FROM emp;
				SELECT empno,ename,sal*12+200 FROM emp;
				SELECT empno,ename,12*(sal+100) FROM emp;

算数运算中的空值NULL问题

Null表示未知值,不是空格也不是0
算数表达式包含null时,其显示结果也为null

空值和默认值

空值:当插入数据时,如果没有为特定的列提供数据,并且该列也没有有默认值,那么其结果为null

默认值:在创建表时可以使用default关键字为列设置默认值,在表中插入数据时,如果没有为该列提供数据,那么该列将使用默认值。

Create table stuent(
			Sid number(8,0),
			Name varchar2(20),
			Sex char(2) default ‘男’, 
			Birthday date,
			Age number(2,0) default 20, //这里设置了默认值为20
			Addess varchar2(50)
);	
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值