• 经典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
  • 相关阅读:
    浅识JVM
    [ Windows ] ping IP + Port 测试 ip 和 端口是否通畅
    linux 容量调整
    Kafka简单入门01
    【Python百日进阶-WEB开发】Day179 - Django案例:11短信验证码
    黑豹程序员-架构师学习路线图-百科:API接口测试工具Postman
    Element-UI+Vue实现开发权限
    APP定制开发流程和特点有哪些?
    输入法在 Android13上候选词 候选区域 不显示的问题
    mysql限制用户登录失败次数,限制时间
  • 原文地址:https://blog.csdn.net/qq_61604164/article/details/126180219