• 经典Oracle表。包括联接查询示例。


    Statement1

    创建DEPT表,该表将是EMP表的父表。

    1. create table dept(
    2. deptno number(2,0),
    3. dname varchar2(14),
    4. loc varchar2(13),
    5. constraint pk_dept primary key (deptno)
    6. )

    Table created.

    Statement2

    创建EMP表,该表具有对DEPT表的外键引用。外键将要求EMP表中的DEPTNO存在于DEPT表的DEPTNO列中。

    1. create table emp(
    2. empno number(4,0),
    3. ename varchar2(10),
    4. job varchar2(9),
    5. mgr number(4,0),
    6. hiredate date,
    7. sal number(7,2),
    8. comm number(7,2),
    9. deptno number(2,0),
    10. constraint pk_emp primary key (empno),
    11. constraint fk_deptno foreign key (deptno) references dept (deptno)
    12. )

    Table created.

    Statement3

    使用命名列将行插入DEPT表。

    1. insert into DEPT (DEPTNO, DNAME, LOC)
    2. values(10, 'ACCOUNTING', 'NEW YORK')

    1 row(s) inserted.

    Statement4

    按列位置在DEPT表中插入一行。

    1. insert into dept
    2. values(20, 'RESEARCH', 'DALLAS')

    1 row(s) inserted.

    Statement5

    1. insert into dept
    2. values(30, 'SALES', 'CHICAGO')

    1 row(s) inserted.

    Statement6

    1. insert into dept
    2. values(40, 'OPERATIONS', 'BOSTON')

    1 row(s) inserted.

    Statement7

    插入EMP行,使用TO_DATE函数将字符串文字转换为oracle日期格式。

    1. insert into emp
    2. values(
    3. 7839, 'KING', 'PRESIDENT', null,
    4. to_date('17-11-1981','dd-mm-yyyy'),
    5. 5000, null, 10
    6. )

    1 row(s) inserted.

    Statement8

    1. insert into emp
    2. values(
    3. 7698, 'BLAKE', 'MANAGER', 7839,
    4. to_date('1-5-1981','dd-mm-yyyy'),
    5. 2850, null, 30
    6. )

    1 row(s) inserted.

    Statement9

    1. insert into emp
    2. values(
    3. 7782, 'CLARK', 'MANAGER', 7839,
    4. to_date('9-6-1981','dd-mm-yyyy'),
    5. 2450, null, 10
    6. )

    1 row(s) inserted.

    Statement10

    1. insert into emp
    2. values(
    3. 7566, 'JONES', 'MANAGER', 7839,
    4. to_date('2-4-1981','dd-mm-yyyy'),
    5. 2975, null, 20
    6. )

    1 row(s) inserted.

    Statement11

    1. insert into emp
    2. values(
    3. 7788, 'SCOTT', 'ANALYST', 7566,
    4. to_date('13-JUL-87','dd-mm-rr') - 85,
    5. 3000, null, 20
    6. )

    1 row(s) inserted.

    Statement12

    1. insert into emp
    2. values(
    3. 7902, 'FORD', 'ANALYST', 7566,
    4. to_date('3-12-1981','dd-mm-yyyy'),
    5. 3000, null, 20
    6. )

    1 row(s) inserted.

    Statement13

    1. insert into emp
    2. values(
    3. 7369, 'SMITH', 'CLERK', 7902,
    4. to_date('17-12-1980','dd-mm-yyyy'),
    5. 800, null, 20
    6. )

    1 row(s) inserted.

    Statement14

    1. insert into emp
    2. values(
    3. 7499, 'ALLEN', 'SALESMAN', 7698,
    4. to_date('20-2-1981','dd-mm-yyyy'),
    5. 1600, 300, 30
    6. )

    1 row(s) inserted.

    Statement15

    1. insert into emp
    2. values(
    3. 7521, 'WARD', 'SALESMAN', 7698,
    4. to_date('22-2-1981','dd-mm-yyyy'),
    5. 1250, 500, 30
    6. )

    1 row(s) inserted.

    Statement16

    1. insert into emp
    2. values(
    3. 7654, 'MARTIN', 'SALESMAN', 7698,
    4. to_date('28-9-1981','dd-mm-yyyy'),
    5. 1250, 1400, 30
    6. )

    1 row(s) inserted.

    Statement17

    1. insert into emp
    2. values(
    3. 7844, 'TURNER', 'SALESMAN', 7698,
    4. to_date('8-9-1981','dd-mm-yyyy'),
    5. 1500, 0, 30
    6. )

    1 row(s) inserted.

    Statement18

    1. insert into emp
    2. values(
    3. 7876, 'ADAMS', 'CLERK', 7788,
    4. to_date('13-JUL-87', 'dd-mm-rr') - 51,
    5. 1100, null, 20
    6. )

    1 row(s) inserted.

    Statement19

    1. insert into emp
    2. values(
    3. 7900, 'JAMES', 'CLERK', 7698,
    4. to_date('3-12-1981','dd-mm-yyyy'),
    5. 950, null, 30
    6. )

    1 row(s) inserted.

    Statement20

    1. insert into emp
    2. values(
    3. 7934, 'MILLER', 'CLERK', 7782,
    4. to_date('23-1-1982','dd-mm-yyyy'),
    5. 1300, null, 10
    6. )

    1 row(s) inserted.

    Statement21

    基于DEPT表DEPTNO的主键和EMP表中的DEPTNO外键,DEPT表与EMP表之间的简单自然连接。

    1. select ename, dname, job, empno, hiredate, loc
    2. from emp, dept
    3. where emp.deptno = dept.deptno
    4. order by ename
    ENAMEDNAMEJOBEMPNOHIREDATELOC
    ADAMSRESEARCHCLERK787623-MAY-87DALLAS
    ALLENSALESSALESMAN749920-FEB-81CHICAGO
    BLAKESALESMANAGER769801-MAY-81CHICAGO
    CLARKACCOUNTINGMANAGER778209-JUN-81NEW YORK
    FORDRESEARCHANALYST790203-DEC-81DALLAS
    JAMESSALESCLERK790003-DEC-81CHICAGO
    JONESRESEARCHMANAGER756602-APR-81DALLAS
    KINGACCOUNTINGPRESIDENT783917-NOV-81NEW YORK
    MARTINSALESSALESMAN765428-SEP-81CHICAGO
    MILLERACCOUNTINGCLERK793423-JAN-82NEW YORK
    SCOTTRESEARCHANALYST778819-APR-87DALLAS
    SMITHRESEARCHCLERK736917-DEC-80DALLAS
    TURNERSALESSALESMAN784408-SEP-81CHICAGO
    WARDSALESSALESMAN752122-FEB-81CHICAGO


    14 rows selected.

    Statement22

    SQL语句中的GROUP BY子句允许聚合非分组列的函数。联接是内部联接,因此不显示没有员工

    的部门。

    1. select dname, count(*) count_of_employees
    2. from dept, emp
    3. where dept.deptno = emp.deptno
    4. group by DNAME
    5. order by 2 desc
  • 相关阅读:
    变分法 (Calculus of Variations)
    Unity之创建第一个2D游戏项目
    hadoop基础
    【MySQL数据库】- 多表查询
    动手学深度学习(Pytorch版)代码实践 -深度学习基础-13Kaggle竞赛:2020加州房价预测
    PostgreSQL高级
    基础算法(一)
    nvm详解(mac环境nvm安装步骤及踩坑问题)
    dotne发布运行
    Android TV 桌面图标闪
  • 原文地址:https://blog.csdn.net/qq_61604164/article/details/126180219