(2)Oracle尚硅谷:基本select语句
command window 窗口下:
注:SQL*plus 的关键字不是SQL的关键字。
desc 表名=describe 表名。 ---查询表结构。
ed = edit。 --- 打开文本编辑器。
SQL> ed --打开文本编辑器,输入sql语句,确定
SQL> / --运行文本编辑器
1 select 8*4 from dual; ---dual是伪表 2 select sysdate from dual; ---sysdate返回当前日期
基本select语句:
1 --基本SQL语句: 2 SELECT *|{[DISTINCT] column|expression [alias],...} 3 FROM table;
*:选择全部列
+-*/:操作符(优先级:括号>乘除>加减。 同一优先级运算符从左向右执行)
1 --选择特定列,使用运算符 2 SELECT last_name, salary, 12*(salary+100) 3 FROM employees;
空值 null、消除重复行 distinct :
distinct 消除重复行,不过滤空值。
is null; --空值
is not null; --非空值
空值不同于0,凡是空值参与的数学运算,结果都为null。但空值与其他字符串拼接的结果不为空。
别名AS:
字段起别名,可用AS,可不用AS。可加" ",可不加" "。
加" "是确定的别名,大小写敏感,格式保留。不加" "则大写显示。
字符串用' '单引号,Oracle中只有别名采用" "双引号。
连接符 ||:
1 --连接符‖,把列与列,列与字符连接在一起。 2 select last_name || 's job_id is' || job_id from employees; 3 --字符和日期要包含在单引号中,字符大小写敏感,日期格式敏感
日期格式:'13-9月-2022'。该格式不常用,常使用函数将数据库中的日期转化为字符串,或使用函数将字符串转化为日期格式
过滤where:
1 SELECT *|{[DISTINCT] column|expression [alias],...} 2 FROM table [WHERE condition(s)];
其它比较运算:

between…and… 在两个值之间 (包括边界)
模糊查询 like:
like 模糊查询,通配符%多个字符,_单个字符。
当需要%_只是字符串不是通配符时。回避特殊符号的:使用转义符。
例如:将[%]转为[\%]、[_]转为[\_],然后再加上[escape ‘\’] 即可。
1 --查找last_name带有_的记录: 2 select * from employees where last_name like '%\_%' escape '\'; 3 --\用 # 代替也可以。
可以使用括号改变优先级顺序

排序 order by:
多次排序:order by 字段1 asc,字段2 desc;
--首先按照字段1排序,若字段1相同,则按照字段2降序排序。
--asc升序,desc降序。默认asc。
使用别名排序:order by 字段1别名 asc,字段2别名 desc;
总结:
SELECT *|{[DISTINCT] column|expression [alias],...} FROM table [WHERE condition(s)] [ORDER BY {column, expr, alias} [ASC|DESC]];

浙公网安备 33010602011771号