sql简单查询,过滤排序、单行函数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基本SQL select 语句

SQL:structural query language (结构化查询语言)

select * from employees;(查看所有,如果写错表明会出现什么情况?*是查询表中的所有列)

select id , name , email from employees;

注意:SQL 语言大小写不敏感SQL可以写在一行或多行;

关键字不能被缩写也不能被分行(select /from);

运算符:+ 、- 、* 、/

select 8 * 4 from dual(伪表);

练习:查询emp表中员工的no、领导编号、姓名、级别和年薪+1000

数字和日期何以使用算数运算符(标识为number是数字,标识为date的为日期)

Number类型的: select last_name , salary , 12 * salary + 1000 from employees; 区分优先级

Date 类型的: select sysdate(当天日期), sysdate + 1, sysdate + 2 from dual;(加减可以、乘除不可以)

练习:查询员工表中的first_name,last_name和领导编号*10的内容

练习:查询员工表中的first_name,last_name和领导编号+10的内容

空值: 空值不同于0, 凡是空值参与的运算,结果都为空(null)

别名: 1紧跟列明后面不加逗号(select employee_id id , last_name name , salary *12 annual from employees)

2 在列明后面加关键字as

3 别名默认显示都是大写的, 就想小写怎么办? 用”” (select employee_id “id” from employees)

连接符:把列与列连接, 列与字符连接在一起,用’||’表示, 可以用来合成列

在Java里有字符串参与的就像是‘+’

练习: 最后显示的结果是:aaa邓超的生日是01-1月-1965

练习: 查询顾客表中所有信息,别名分别是m_id , 姓名(拼接后),生日和电话号码

注意: Orcale 里的字符串用‘’只有在起别名的时候用到””

重复行:默认情况下,查询会返回全部行,包括重复行

select distinct (重复)department_id from empolyees;

二、过滤和排序数据

select employee_id, employee_name from employee where id > 20

查询生日为1965年1月1日出生的顾客信息

传统日期做法: select customer_id , first_name,last_name,phone from customers where dob='1-1月-1965'

运算符: = , > , >= , < , <= , <> !=

Is null

练习:生日是空的顾客信息

重点:其他比较运算符

1.between...and... (在两个值之间含边界)

查询工资大于3000小于10000的员工的名字

查询工资大于等于3000小于和等于10000的员工的姓名

select last_name from employees where between 3000 and 10000

select last_name from employees where salary >= 3000 and salary <= 10000

2.In 等于值列表中一个

查询工资为3000和10000的员工的姓名

1.select first_name||last_name from employees where salary=3000 or salary=10000

2.select first_name||last_name from employees where salary in(3000,10000)

3.select first_name||last_name from employees where salary =any(3000,10000)

4.select first_name||last_name from employees where salary = 3000

union select first_name||last_name from employees where salary = 10000

--顾客号是1和4的顾客的电话号码(4种方式)

Any:any是小于集合里任何一个,也就是比括号中任何一个小就满足了条件

select first_name||last_name from employees where salary

All:比所有的都小,比最小的都小,才满足条件

select first_name||last_name from employees where salary

3.Like 模糊查询

--名字中含有a的员工的信息

select * from employee where last_name like ‘%a%’

--带字母d的顾客的信息

使用order by 子句排序

Asc 升序默认升序

Desc 降序

Order子句在select语句末尾

查询领导编号为2的员工的信息并且按照工资降序

select first_name||last_name from employees where manager_id = 2 order by salary desc 查询顾客表中顾客的信息,fist_name 降序

相关文档
最新文档