Java学习-20天
来源:互联网 发布:企业备案域名购买 编辑:程序博客网 时间:2024/06/05 08:53
注意:1.sql语句中, 多表查询时,from后面是XXX,XXX--
等值连接及非等值连接 在于where后面的过滤条件。
左连接及右连接及自连接
自连接的代码
select emp.last_name,manager.last_name,manager,salary,manager.email
from employees emp,employees manager
where emp.manager_id = manager.employee_id and lower(emp.last_name)
= 'chen'
尚佳谷老师总结
SQL语句的多表查询方式:
例如:按照department_id查询employees(员工表)和departments(部门表)
的信息。
方式一(通用型):SELECT ... FROM ... WHERE
SELECT e.last_name,e.department_id,d.department_name
FROM employees e,departments d
where e.department_id = d.department_id
方式二:SELECT ... FROM ... NATURAL JOIN ...
有局限性:会自动连接两个表中相同的列(可能有多个:department_id和
manager_id)
SELECT last_name,department_id,department_name
FROM employees
NATURAL JOIN departments
方式三:SELECT ... JOIN ... USING ...
有局限性:好于方式二,但若多表的连接列列名不同,此法不合适
SELECT last_name,department_id,department_name
FROM employees
JOIN departments
USING(department_id)
方式四:SELECT ... FROM ... JOIN ... ON ...99连接
常用方式,较方式一,更易实现外联接(左、右、满)
SELECT last_name,e.department_id,department_name
FROM employees e
JOIN departments d
ON e.department_id = d.department_id
组连接
--内连接
1)
--等值连接
--不等值连接
2)
--非自连接
--自连接
--外连接
--左外连接、右外连接、满外连接
2.分组函数
max min sum avg count 其中 avg和sum(数值类型)
avg和sum 如果里面有空值,不计算到内
使用多个列分组,在后面加group by
在使用组函数过滤时,要使用having。
ANY操作符(任一)和All操作符(所有)
3.创建和管理表
常见的数据库对象
对象 描述
表 基本的数据存储集合,由行和列组成
视图 从表中抽出的逻辑上相关的数据集合
序列 提供有规律的数值
索引 提高查询的效率
同义词 给对象起别名
查看用户定义的表
select * from user_tables;
DML&DDL,dml横向对列表的增删改查,ddl纵向对列表的列添加删除
create table emp1(
id number(10),
name varchar2(20),
hire_date date
)
CREATE TABLE emp3
AS
SELECT emloyee_id id,last_name name,hire_date,salary
from employees
where department_id = 80
alter修改
truncate 清空
rollback 回滚
4.数据处理
插入
1)insert into(XXX,xxx)
values()
2)insert into(XX,xx,YY,yy)
select XX,xx,YY,yy
from employee
3)insert into(XX,xx,YY,yy)
values(&id,'&name',&salary,'&hire_data')
改
update emp1
set salary = 12000
《提交》
commit
删
delete from...
where...
数据库事务
提交后的数据状态
锁被释放,其他用户可以操作涉及到的数据。
约束
NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEY,CHECK
等值连接及非等值连接 在于where后面的过滤条件。
左连接及右连接及自连接
自连接的代码
select emp.last_name,manager.last_name,manager,salary,manager.email
from employees emp,employees manager
where emp.manager_id = manager.employee_id and lower(emp.last_name)
= 'chen'
尚佳谷老师总结
SQL语句的多表查询方式:
例如:按照department_id查询employees(员工表)和departments(部门表)
的信息。
方式一(通用型):SELECT ... FROM ... WHERE
SELECT e.last_name,e.department_id,d.department_name
FROM employees e,departments d
where e.department_id = d.department_id
方式二:SELECT ... FROM ... NATURAL JOIN ...
有局限性:会自动连接两个表中相同的列(可能有多个:department_id和
manager_id)
SELECT last_name,department_id,department_name
FROM employees
NATURAL JOIN departments
方式三:SELECT ... JOIN ... USING ...
有局限性:好于方式二,但若多表的连接列列名不同,此法不合适
SELECT last_name,department_id,department_name
FROM employees
JOIN departments
USING(department_id)
方式四:SELECT ... FROM ... JOIN ... ON ...99连接
常用方式,较方式一,更易实现外联接(左、右、满)
SELECT last_name,e.department_id,department_name
FROM employees e
JOIN departments d
ON e.department_id = d.department_id
组连接
--内连接
1)
--等值连接
--不等值连接
2)
--非自连接
--自连接
--外连接
--左外连接、右外连接、满外连接
2.分组函数
max min sum avg count 其中 avg和sum(数值类型)
avg和sum 如果里面有空值,不计算到内
使用多个列分组,在后面加group by
在使用组函数过滤时,要使用having。
ANY操作符(任一)和All操作符(所有)
3.创建和管理表
常见的数据库对象
对象 描述
表 基本的数据存储集合,由行和列组成
视图 从表中抽出的逻辑上相关的数据集合
序列 提供有规律的数值
索引 提高查询的效率
同义词 给对象起别名
查看用户定义的表
select * from user_tables;
DML&DDL,dml横向对列表的增删改查,ddl纵向对列表的列添加删除
create table emp1(
id number(10),
name varchar2(20),
hire_date date
)
CREATE TABLE emp3
AS
SELECT emloyee_id id,last_name name,hire_date,salary
from employees
where department_id = 80
alter修改
truncate 清空
rollback 回滚
4.数据处理
插入
1)insert into(XXX,xxx)
values()
2)insert into(XX,xx,YY,yy)
select XX,xx,YY,yy
from employee
3)insert into(XX,xx,YY,yy)
values(&id,'&name',&salary,'&hire_data')
改
update emp1
set salary = 12000
《提交》
commit
删
delete from...
where...
数据库事务
提交后的数据状态
锁被释放,其他用户可以操作涉及到的数据。
约束
NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEY,CHECK
0 0
- Java学习-20天
- java 学习20天
- java学习第20天
- java学习第二天
- java学习第四天
- Java学习第二天
- 学习Java第二天
- 学习Java第四天
- java学习第二天
- Java学习第二天
- Java学习第四天
- Java学习第六天
- Java学习第十天
- Java学习第十二天
- 学习JAVA第二天。
- Java学习第二天
- JAVA学习第二天
- java学习第四天
- MySQL运算符和函数
- hdoj2039,关键条件就是两边之和大于第三边,而且还得是double型
- Protocol Buffer入门
- Pixhawk_Ardupilot编译环境_Ubuntu
- activiti 流程历史(五)
- Java学习-20天
- PHP的乱码问题(utf-8)
- 解决selenium中HTMLTestRunne生成的报告为空的问题
- ASM技术研究
- HDU 4862 最小费用最大流+路径覆盖
- mysql常用命令
- Linux下adb devices : no permissions解决方案
- 什么是模式?什么是框架?
- zookeeper集群安装及工作原理