zoukankan      html  css  js  c++  java
  • SQLScript DML 创建 & 查询 & 序列(条件查询 日起查询 关联查询 子查询 分组查询 查询内容拼接 模糊查询)

    select * from employees;

    select * from employees where salary = 10000;

    select *
    from employees
    where first_name like 'D%'
    or first_name like 'E%';

    select * from employees where first_name like '%a%';

    select * from employees where salary between 10000 and 20000;

    select first_name || ' ' || last_name 姓名
    from employees
    where salary between 10000 and 20000;

    select first_name || ' ' || last_name
    from employees
    where salary between 10000 and 20000;

    select * from employees here salary between 10000 and 20000;

    select *
    from employees
    where first_name = 'Pat'
    union
    select *
    from employees
    where first_name = 'Lex'
    union
    select *
    from employees
    where first_name = 'Lisa';

    select emp.*
    from employees emp,
    departments dep,
    locations loc
    where emp.department_id = dep.department_id
    and dep.location_id = loc.location_id
    and loc.city = 'Seattle';

    select first_name || last_name from employees where salary > 12000;

    select first_name || ' ' || last_name from employees where salary > 12000;

    select *
    from employees
    where salary < 20000
    and salary > 10000;

    select * from employees where salary between 10000 and 20000;

    select first_name,
    last_name,
    emp.salary,
    dep.department_name
    from employees emp,
    departments dep
    where emp.department_id = dep.department_id
    and emp.salary > 10000;

    select emp.*
    from employees emp,
    departments dep,
    locations loc,
    countries cou
    where emp.department_id = dep.department_id
    and dep.location_id = loc.location_id
    and loc.country_id = cou.country_id
    and cou.country_name = 'United States of America';

    select * from countries;
    select * from employees;
    select * from locations;
    select * from departments;

    drop user lhq;
    create user lhq identified by lhq123456;
    grant dba to lhq;
    grant connect, resource to lhq;
    alter user sys identified by sysdba;
    grant sysdba to lhq;

    select emp.first_name userName,
    man.first_name Manager
    from hr.employees emp,
    hr.employees man
    where emp.employee_id = man.manager_id
    order by Manager asc;

    select emp.first_name userName,
    dep.department_name Department
    from hr.departments dep
    left join hr.employees emp
    on emp.department_id = dep.department_id;

    select * from hr.countries;
    select * from hr.employees;
    select * from hr.locations;
    select * from hr.departments;
    select * from hr.jobs;

    --1、查询所有员工的员工 姓名、部门名称、工作国家、工作地区、工作名称
    select emp.first_name || ' ' || emp.last_name 姓名,
    dep.department_name 部门名称,
    loc.city 工作地区,
    cou.country_name 工作国家,
    job.job_title 工作名称
    from hr.employees emp
    full join hr.departments dep
    on emp.department_id = dep.department_id
    full join hr.locations loc
    on dep.location_id = loc.location_id
    full join hr.countries cou
    on loc.country_id = cou.country_id
    full join hr.jobs job
    on emp.job_id = job.job_id
    where emp.first_name is not null
    order by 姓名;

    select emp.first_name || ' ' || emp.last_name 姓名,
    dep.department_name 部门名称,
    loc.city 工作地区,
    cou.country_name 工作国家,
    job.job_title 工作名称
    from hr.employees emp
    left join hr.departments dep
    on emp.department_id = dep.department_id
    left join hr.locations loc
    on dep.location_id = loc.location_id
    left join hr.countries cou
    on loc.country_id = cou.country_id
    left join hr.jobs job
    on emp.job_id = job.job_id
    order by 姓名;
    --2、查询所有薪资大于一万的员工以及其领导和部门
    select emp.first_name || ' ' || emp.last_name 员工,
    man.first_name || ' ' || man.last_name 领导,
    dep.department_name 部门,
    emp.salary 薪水
    from hr.employees emp
    left join hr.employees man
    on emp.manager_id = man.employee_id
    left join hr.departments dep
    on emp.department_id = dep.department_id
    where emp.salary >= 10000
    order by 领导 asc;

    select hr.emp.*,
    man.first_name 领导,
    dep.department_name
    from hr.employees emp
    left join hr.employees man
    on emp.manager_id = man.employee_id
    left join hr.departments dep
    on emp.department_id = dep.department_id
    where emp.salary >= 10000;
    --3、查询所有有员工的部门
    select emp.first_name || ' ' || emp.last_name 员工姓名,
    dep.department_name 部门
    from hr.employees emp
    right join hr.departments dep
    on dep.department_id = emp.department_id
    where emp.department_id is not null
    order by 部门;

    select dep.department_id,
    dep.department_name,
    count(*)
    from hr.employees emp,
    hr.departments dep
    where emp.department_id = dep.department_id
    group by dep.department_id,
    dep.department_name;

    select dep.department_id,
    dep.department_name,
    count(emp.employee_id)
    from hr.departments dep
    left join hr.employees emp
    on dep.department_id = emp.department_id
    group by dep.department_id,
    dep.department_name
    having count(emp.employee_id) > 0;
    --4、查询所有没有员工的部门
    select emp.first_name || ' ' || emp.last_name 员工姓名,
    dep.department_name 部门
    from hr.employees emp
    right join hr.departments dep
    on dep.department_id = emp.department_id
    where emp.first_name is null
    order by 部门 asc;

    select dep.department_id,
    dep.department_name,
    count(emp.employee_id)
    from hr.departments dep
    left join hr.employees emp
    on dep.department_id = emp.department_id
    group by dep.department_id,
    dep.department_name
    having count(emp.employee_id) = 0;
    --5、查询所有在98~2000年入职的员工
    select emp.first_name || ' ' || emp.last_name 姓名,
    emp.hire_date 入职日期
    from hr.employees emp
    where emp.hire_date < to_date('2000-1-1', 'yyyy-mm-dd')
    and emp.hire_date > to_date('1998-1-1', 'yyyy-mm-dd')
    order by 入职日期 asc;

    select *
    from hr.employees
    where hire_date between '1-1月-1998' and '1-1月-2000';
    --6、查询所有部门以及部门领导
    select emp.first_name || ' ' || emp.last_name 领导姓名,
    dep.department_name 部门名称
    from hr.employees emp
    right join hr.departments dep
    on dep.manager_id = emp.employee_id
    order by 领导姓名 desc;

    select *
    from hr.departments dep
    left join hr.employees emp
    on dep.manager_id = emp.employee_id;
    --7、查询所有平均工资大于8000的部门
    select dep.department_name 部门,
    avg(emp.salary) 部门平均工资
    from hr.employees emp
    right join hr.departments dep
    on emp.department_id = dep.department_id
    group by dep.department_name
    having avg(emp.salary) >= 8000;
    --8、查询每个部门最高工资和最低工资是多少
    select dep.department_name 部门,
    max(emp.salary) 部门最高工资
    from hr.employees emp
    right join hr.departments dep
    on emp.department_id = dep.department_id
    group by dep.department_name
    having avg(emp.salary) > 0;
    --9、查询每个国家有多少个员工
    select cou.country_name 国家,
    count(*) 员工数
    from hr.employees emp
    left join hr.departments dep
    on emp.department_id = dep.department_id
    left join hr.locations loc
    on dep.location_id = loc.location_id
    right join hr.countries cou
    on loc.country_id = cou.country_id
    group by cou.country_name
    order by 国家;
    --10、查询每个部门总工资是多少
    select dep.department_name 部门,
    sum(emp.salary) 部门平均工资
    from hr.employees emp
    right join hr.departments dep
    on emp.department_id = dep.department_id
    group by dep.department_name
    having avg(emp.salary) > 0;
    --11、查询工资大于12000的员工姓名和工资
    select emp.first_name || ' ' || emp.last_name 员工姓名,
    emp.salary 工资
    from hr.employees emp
    where salary > 12000;
    --12、查询员工号为176的员工的姓名和部门号
    select emp.first_name || ' ' || emp.last_name 员工姓名,
    emp.department_id
    from hr.employees emp
    where emp.employee_id = 176;
    --13、选择工资不在5000到12000的员工的姓名和工资
    select emp.first_name || ' ' || emp.last_name 员工姓名,
    emp.salary 工资
    from hr.employees emp
    where salary < 5000
    or salary > 12000;
    --14、选择雇用时间在1908-02-01到1908-05-01之间的员工姓名,job_id和雇用时间
    select emp.first_name || ' ' || emp.last_name 员工姓名,
    emp.job_id 员工号,
    emp.hire_date 雇用时间
    from hr.employees emp
    where emp.hire_date between '31-1月-1998' and '2-5月-1998';
    --15、选择在20、50号部门工作的员工姓名和部门号
    select emp.first_name || ' ' || emp.last_name 员工姓名,
    emp.department_id
    from hr.employees emp
    where emp.department_id = 20
    or emp.department_id = 50;
    --16、选择在1908年雇用的员工的姓名和雇用时间
    select emp.first_name || ' ' || emp.last_name 员工姓名,
    emp.hire_date 雇用时间
    from hr.employees emp
    where emp.hire_date between '31-12月-1997' and '1-1月-1999';
    --17、选择公司中没有管理者的员工姓名及job_id
    select emp.first_name || ' ' || emp.last_name 员工姓名,
    emp.job_id 员工号
    from hr.employees emp
    where emp.manager_id is null;
    --18、查询员工姓名的第三个字母是a的员工姓名
    select emp.first_name || ' ' || emp.last_name 员工姓名
    from hr.employees emp
    where emp.first_name like '__a%';
    --19、查询每一个工种的人数
    select emp.job_id 工作类别,
    count(*) 员工数
    from hr.employees emp
    group by emp.job_id
    having count(*) > 0;
    --20、查询每一个领导手下的员工数量并排序
    select emp.manager_id 领导,
    count(*) 员工数
    from hr.employees emp
    group by emp.manager_id
    having count(*) > 0
    order by 领导;

    select * from hr.jobs;
    select * from hr.countries;
    select * from hr.employees;
    select * from hr.locations;
    select * from hr.departments;

    create table customers(customers_id number(10) primary key,
    customers_account varchar2(20) not null unique,
    customers_password varchar2(18) not null,
    customers_name varchar2(30),
    customers_gender varchar2(6),
    customers_birth date not null,
    customers_phone number(11) not null,
    customers_mail varchar2(30),
    customers_address varchar2(18) not null);

    create table orderdetail(

    orderdetail_id number(10) primary key,
    goods_serialnum number(10) not null unique,
    goods_num number(10) not null,
    goods_price number(10, 2) not null,
    customers_id number(10),
    foreign key(customers_id) references
    customers(customers_id));

    create SEQUENCE test_sequence INCREMENT by 1  start
    with 10000    NOMAXVALUE NOCYCLE  CACHE 10;

    insert into customers
    values
    (test_sequence.nextval, 'Dream68686868', '8888-6666', 'ycr', 'female',
    to_date('21-08-2003', 'DD-MM-YYYY'), 13886868987, '123456@qq.mail',
    'ChinaJiangSu');

    select * from orderdetail;
    select * from customers;
    select test_sequence.Currval from dual;

    drop table orderdetail;
    drop table customers;
    drop SEQUENCE test_sequence;

    alter table orderdetail rename column orderdetail to orderdetail_id;

    ------------------------------------------------------------------------------------------------------

    create table emp(emp_id number(10),
    first_name varchar2(20),
    last_name varchar2(20),
    salary number(10));

    create table interest(interestId number(10) primary key,
    interest varchar2(20) unique);

    create table users(userId number(10) primary key,
    USERNAME varchar2(20),
    PASSWORD varchar2(20),
    GENDER varchar2(20),
    CITY varchar2(20),
    TEXT varchar2(20));

    create table users_interest(interestId number(10),
    userId number(10),
    primary key(interestId, userId), --联合主键,当联合主键不同时和其让数据相同时,那么就不算主键重复
    foreign key(interestId) references
    interest(interestId),
    foreign key(userId) references users(userId));

    create SEQUENCE user_users INCREMENT by 1  start
    with 10000    NOMAXVALUE NOCYCLE  CACHE 10;

    select * from interest;
    select * from users;
    select * from users_interest;
    select * from emp;

    drop table emp;
    drop table users_interest;
    drop table users;
    drop table interest;
    drop SEQUENCE user_users;

    insert into emp value
    (select emp.employee_id,
    emp.first_name,
    emp.last_name,
    emp.salary
    from hr.employees emp);

    insert into users
    values
    (user_users.nextval, 'lu', '123', 'male', 'nanjing', 'aaaa');
    insert into users
    values
    (user_users.nextval, 'zhao', '123', 'female', 'guizhou', 'bbbb');
    insert into users
    values
    (user_users.nextval, 'qian', '123', 'female', 'beijing', 'cccc');
    insert into users
    values
    (user_users.nextval, 'sun', '123', 'male', 'changzhou', 'dddd');
    insert into users
    values
    (user_users.nextval, 'li', '123', 'female', 'suzhou', 'eeee');

    insert into interest values (1, '哭');
    insert into interest values (2, '玩');
    insert into interest values (3, '闹');
    insert into interest values (4, '蹦');
    insert into interest values (5, '跳');
    insert into interest values (6, '跑');
    insert into interest values (7, '睡');
    insert into interest values (8, '吃');
    commit;
    rollback;


    drop user lu;
    create user lu identified by lu123456;
    grant sysdba to lu;
    grant dba to lu;

  • 相关阅读:
    SQLMAP注入教程-11种常见SQLMAP使用方法详解
    VS2012/2013/2015/Visual Studio 2017 关闭单击文件进行预览的功能
    解决 IIS 反向代理ARR URLREWRITE 设置后,不能跨域跳转 return Redirect 问题
    Spring Data JPA one to one 共享主键关联
    JHipster 问题集中
    Spring Data JPA 定义超类
    Spring Data JPA查询关联数据
    maven命名
    maven仓库
    Jackson读取列表
  • 原文地址:https://www.cnblogs.com/Dream-Lasting/p/4184381.html
Copyright © 2011-2022 走看看