一、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 ...
常用方式,較方式一,更易實現外聯接(左、右、滿)
select last_name,e.department_id,department_name
from employees e
join departments d
on e.department_id = d.department_id
-- 內連線
1)--等值連線
--不等值連線
2)--非自連線
--自連線
-- 外連線
--左外連線、右外連線、滿外連線
二、建立和管理表
craete table /truncate table /alter table /reanme...to/drop table ..操
作完以後,自動 commit;所以,rollback 對其操作,沒有效果
1. 建立表
1 )直接建立
create table emp1(
name varchar2(20),
salary number(8,2)default 1000,
id number(4),
hire_date date
);2 )通過子查詢的方式建立
create table emp2
asselect last_name name,employee_id id,hire_date
from employees;
或者create table emp2
asselect last_name name,employee_id id,hire_date
from employees
where department_id = 80;/where 1=2;
2. 修改表
1) 增加新的列
alter table emp1
add(birthday date)
2) 修改現有的列
alter table emp1
modify(name varchar2(25) default 'abc')
3) 重新命名現有的列
alter table emp1
rename column salary to sal;
4) 刪除現有的列
alter table emp1
drop column birthday;
3. 清空表中的資料(與 與 delete from table_name ?區分開)
truncate table emp2;
4. 重新命名表
rename emp2 to e***;
5. 刪除表
drop table e***;
Oracle之多表查詢
多表查詢的基礎語法 select 查詢列 1 別名1,查詢列 2 別名2,from 表名稱1 別名1 名稱2 別名2 給出幾個例子吧。1.select e.ename,e.sal,d.dname,s.grade,m.ename,m.sal,ms.grade from emp e,dept d,sal...
MySql之多表查詢
select e.empname,d.deptname from emp e,dept d where e.deptno d.deptno select e.empname d.deptname from emp e inner join dept d on e.deptno d.deptno se...
Hibernate之多表查詢
原生sql多表查詢 1.交叉連線 笛卡爾積 select from a,b 2.內連線 1 隱式內連線 select from a,b where b.aid a.id 2 顯示內連線 select from a inner join b on b.aid a.id 3.外鏈結 1 左外連線 sel...