数据库,计算机网络、操作系统刷题笔记19

数据库,计算机网络、操作系统刷题笔记19

2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!
考网警特招必然要考操作系统,计算机网络,由于备考时间不长,你可能需要速成,我就想办法自学速成了,课程太长没法玩
刷题笔记系列文章:
【1】Oracle数据库:刷题错题本,数据库的各种概念
【2】操作系统,计算机网络,数据库刷题笔记2
【3】数据库、计算机网络,操作系统刷题笔记3
【4】数据库、计算机网络,操作系统刷题笔记4
【5】数据库、计算机网络,操作系统刷题笔记5
【6】数据库、计算机网络,操作系统刷题笔记6
【7】数据库、计算机网络,操作系统刷题笔记7
【8】数据库、计算机网络,操作系统刷题笔记8
【9】操作系统,计算机网络,数据库刷题笔记9
【10】操作系统,计算机网络,数据库刷题笔记10
【11】操作系统,计算机网络,数据库刷题笔记11
【12】操作系统,计算机网络,数据库刷题笔记12
【13】操作系统,计算机网络,数据库刷题笔记13
【14】操作系统,计算机网络,数据库刷题笔记14
【15】计算机网络、操作系统刷题笔记15
【16】数据库,计算机网络、操作系统刷题笔记16
【17】数据库,计算机网络、操作系统刷题笔记17
【18】数据库,计算机网络、操作系统刷题笔记18


文章目录

Oracle知识点复习:多表连接

笛卡尔积,没有条件直接连接,表1对应表2所有数据都配一次

select * from emp,deptno;
啥条件没有,直接挂接俩表——笛卡尔积,没意义

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最终表1的3行,
每一行,对应表2的所有行
N*M行整体

一般不建议玩笛卡尔乘积,会炸锅的,太多了,而且毫无意义
在这里插入图片描述

内连接

上面的条件,控制deptno相同的留下
这叫内连接
where表1和2的特定条件相同

select * from emp e,deptno d where e.deptno=d.deptno;

在这里插入图片描述
或者inner join

select * from emp e inner join deptno d on e.deptno=d.deptno;

on相当于where
join都得用on来连接
在这里插入图片描述

SQL> select * from emp e,dept d where e.deptno=d.deptno;

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO     DEPTNO DNAME                        LOC
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ---------- ---------- ---------------------------- --------------------------
      7782 CLARK                MANAGER                  7839 09-6-81           2450                    10         10 ACCOUNTING                   NEW YORK
      7839 KING                 PRESIDENT                     17-11-81           5000                    10         10 ACCOUNTING                   NEW YORK
      7934 MILLER               CLERK                    7782 23-1-82           1300                    10         10 ACCOUNTING                   NEW YORK
      7566 JONES                MANAGER                  7839 02-4-81           2975                    20         20 RESEARCH                     DALLAS
      7902 FORD                 ANALYST                  7566 03-12-81           3000                    20         20 RESEARCH                     DALLAS
      7876 ADAMS                CLERK                    7788 23-5-87           1100                    20         20 RESEARCH                     DALLAS
      7369 SMITH                CLERK                    7902 17-12-80            800                    20         20 RESEARCH                     DALLAS
      7788 SCOTT                ANALYST                  7566 19-4-87           3000                    20         20 RESEARCH                     DALLAS
      7521 WARD                 SALESMAN                 7698 22-2-81           1250        500         30         30 SALES                        CHICAGO
      7844 TURNER               SALESMAN                 7698 08-9-81           1500          0         30         30 SALES                        CHICAGO
      7499 ALLEN                SALESMAN                 7698 20-2-81           1600        300         30         30 SALES                        CHICAGO
      7900 JAMES                CLERK                    7698 03-12-81            950                    30         30 SALES                        CHICAGO
      7698 BLAKE                MANAGER                  7839 01-5-81           2850                    30         30 SALES                        CHICAGO
      7654 MARTIN               SALESMAN                 7698 28-9-81           1250       1400         30         30 SALES                        CHICAGO

已选择14行。

你可以看看,都是deptno相同的才留下来了
在这里插入图片描述

inner join on
join on默认也是inner join

SQL> select * from emp e inner join dept d on e.deptno=d.deptno;

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO     DEPTNO DNAME                        LOC
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ---------- ---------- ---------------------------- --------------------------
      7782 CLARK                MANAGER                  7839 09-6-81           2450                    10         10 ACCOUNTING                   NEW YORK
      7839 KING                 PRESIDENT                     17-11-81           5000                    10         10 ACCOUNTING                   NEW YORK
      7934 MILLER               CLERK                    7782 23-1-82           1300                    10         10 ACCOUNTING                   NEW YORK
      7566 JONES                MANAGER                  7839 02-4-81           2975                    20         20 RESEARCH                     DALLAS
      7902 FORD                 ANALYST                  7566 03-12-81           3000                    20         20 RESEARCH                     DALLAS
      7876 ADAMS                CLERK                    7788 23-5-87           1100                    20         20 RESEARCH                     DALLAS
      7369 SMITH                CLERK                    7902 17-12-80            800                    20         20 RESEARCH                     DALLAS
      7788 SCOTT                ANALYST                  7566 19-4-87           3000                    20         20 RESEARCH                     DALLAS
      7521 WARD                 SALESMAN                 7698 22-2-81           1250        500         30         30 SALES                        CHICAGO
      7844 TURNER               SALESMAN                 7698 08-9-81           1500          0         30         30 SALES                        CHICAGO
      7499 ALLEN                SALESMAN                 7698 20-2-81           1600        300         30         30 SALES                        CHICAGO
      7900 JAMES                CLERK                    7698 03-12-81            950                    30         30 SALES                        CHICAGO
      7698 BLAKE                MANAGER                  7839 01-5-81           2850                    30         30 SALES                        CHICAGO
      7654 MARTIN               SALESMAN                 7698 28-9-81           1250       1400         30         30 SALES                        CHICAGO

已选择14行。

这也是等值连接

通过where和on划定特定的相等条件

外连接:左外,右外,全外连接

左右是看表1,2哪个在左右的情况

左外,左表为基准,去匹配右表,全部显示左边的数据,右边展示部分数据
在这里插入图片描述
左外之后
在这里插入图片描述
如果是内连接的话,1004这个是左边的值是不显示的

select * from emp e left outer join dept d on e.deptno=d.deptno;
select  * from emp e,dept d where e.deptno=d.deptno(+);
+对面全部显示,第二个写法是Oracle的独有写法

+对面全部显示

右外:类似,右表全部显示,左表部分展示
在这里插入图片描述

select * from emp e right outer join dept d on e.deptno=d.deptno;
select  * from emp e,dept d where e.deptno(+)=d.deptno;
+对面全部显示

全外连接=左外+右外-交集去重
就是左右全部展示

select * from emp e full outer join dept d on e.deptno=d.deptno;
mysql是没有的这种写法

自连接,同一个表,2次用,经理id=员工id

select e.empno,e.ename,m.empno,m.ename from emp e,emp m where e.mgr=m.empno;

左边是员工表
找这些员工们,他们的经理是谁?

SQL> select * from emp;

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7369 SMITH                CLERK                    7902 17-12-80            800                    20
      7499 ALLEN                SALESMAN                 7698 20-2-81           1600        300         30
      7521 WARD                 SALESMAN                 7698 22-2-81           1250        500         30
      7566 JONES                MANAGER                  7839 02-4-81           2975                    20
      7654 MARTIN               SALESMAN                 7698 28-9-81           1250       1400         30
      7698 BLAKE                MANAGER                  7839 01-5-81           2850                    30
      7782 CLARK                MANAGER                  7839 09-6-81           2450                    10
      7788 SCOTT                ANALYST                  7566 19-4-87           3000                    20
      7839 KING                 PRESIDENT                     17-11-81           5000                    10
      7844 TURNER               SALESMAN                 7698 08-9-81           1500          0         30
      7876 ADAMS                CLERK                    7788 23-5-87           1100                    20
      7900 JAMES                CLERK                    7698 03-12-81            950                    30
      7902 FORD                 ANALYST                  7566 03-12-81           3000                    20
      7934 MILLER               CLERK                    7782 23-1-82           1300                    10

已选择14行。

你看看7092的经理是谁?
7566
查7566的名字是谁?
JONES
通过自己连接自己,就知道经理是谁了

SQL> select e.empno,e.ename,m.empno,m.ename from emp e,emp m where e.mgr=m.empno;

     EMPNO ENAME                     EMPNO ENAME
---------- -------------------- ---------- --------------------
      7902 FORD                       7566 JONES
      7788 SCOTT                      7566 JONES
      7844 TURNER                     7698 BLAKE
      7499 ALLEN                      7698 BLAKE
      7521 WARD                       7698 BLAKE
      7900 JAMES                      7698 BLAKE
      7654 MARTIN                     7698 BLAKE
      7934 MILLER                     7782 CLARK
      7876 ADAMS                      7788 SCOTT
      7698 BLAKE                      7839 KING
      7566 JONES                      7839 KING
      7782 CLARK                      7839 KING
      7369 SMITH                      7902 FORD

已选择13行。

自连接比较耗费性能,N*N行
很多的

都是先笛卡尔,再where筛选
在这里插入图片描述
自连接是效率很低的

要是用二叉树来做层次连接的话,速度快多了

了解一波,后续有必要去玩

子查询

比scott工资高的员工信息

你得知道scott的工资是多少?
再去查:比scott工资高的员工信息

select sal from emp where ename='SCOTT';

SQL> select sal from emp where ename='SCOTT';

       SAL
----------
      3000

第二步,子查询

SQL> select * from emp where sal>(select sal from emp where ename='SCOTT');

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7839 KING                 PRESIDENT                     17-11-81           5000                    10

在这里插入图片描述
这比连接表要舒服

子查询可以出现在where里面,可以写在select,having,from里面
不能卸载group by中哦

子查询放入select只能用where限定一个常量列值,拼在主查询之后

这语法可以,但是没啥价值和意义
但是语法不能出现子查询返回多行结果哦!!!

SQL> select empno,ename,(select job from emp) job from emp;
select empno,ename,(select job from emp) job from emp
                    *1 行出现错误:
ORA-01427: 单行子查询返回多个行


SQL> select empno,ename,(select job from emp) job from emp where empno=7369;
select empno,ename,(select job from emp) job from emp where empno=7369
                    *1 行出现错误:
ORA-01427: 单行子查询返回多个行


SQL> select empno,ename,(select job from emp where empno=7369) job from emp;

     EMPNO ENAME                JOB
---------- -------------------- ------------------
      7369 SMITH                CLERK
      7499 ALLEN                CLERK
      7521 WARD                 CLERK
      7566 JONES                CLERK
      7654 MARTIN               CLERK
      7698 BLAKE                CLERK
      7782 CLARK                CLERK
      7788 SCOTT                CLERK
      7839 KING                 CLERK
      7844 TURNER               CLERK
      7876 ADAMS                CLERK
      7900 JAMES                CLERK
      7902 FORD                 CLERK
      7934 MILLER               CLERK

已选择14行。

在这里插入图片描述
放select后面没用

having之后

查询最低工资,比10号部门的最低工资,要高的部门编号
咱们得知道分组之后的各个部门的最低工资

SQL> select deptno,min(sal) from emp group by deptno;

    DEPTNO   MIN(SAL)
---------- ----------
        30        950
        20        800
        10       1300

然后才去筛选那些最低工资,竟然比30号这个部门的最低工资要高

SQL> select deptno,min(sal) from emp group by deptno having min(sal) > (select min(sal) from emp where deptno=30);

    DEPTNO   MIN(SAL)
---------- ----------
        10       1300

后面有一个子查询,查30号部门的最低工资
然后前面主查询是分组,having筛选

from后面一直都可以写子查询
相当于新查出一个表来,把这个表当做新表
再去筛选

SQL> select e.sal  from (select empno,ename,sal from emp) e;

       SAL
----------
       800
      1600
      1250
      2975
      1250
      2850
      2450
      3000
      5000
      1500
      1100
       950
      3000
      1300

已选择14行。

SQL> select sal  from (select empno,ename,sal from emp);

       SAL
----------
       800
      1600
      1250
      2975
      1250
      2850
      2450
      3000
      5000
      1500
      1100
       950
      3000
      1300

已选择14行。

相当于从新表中找数据即可

SQL> select *  from (select empno,ename,sal from emp);

     EMPNO ENAME                       SAL
---------- -------------------- ----------
      7369 SMITH                       800
      7499 ALLEN                      1600
      7521 WARD                       1250
      7566 JONES                      2975
      7654 MARTIN                     1250
      7698 BLAKE                      2850
      7782 CLARK                      2450
      7788 SCOTT                      3000
      7839 KING                       5000
      7844 TURNER                     1500
      7876 ADAMS                      1100
      7900 JAMES                       950
      7902 FORD                       3000
      7934 MILLER                     1300

已选择14行。

这很简单吧

主查询和子查询,可以不是同一张表,正常

咱们子查询只需要一个结果而已

查询销售部的员工信息

销售部在dept表里面

SQL> select * from dept;

    DEPTNO DNAME                        LOC
---------- ---------------------------- --------------------------
        10 ACCOUNTING                   NEW YORK
        20 RESEARCH                     DALLAS
        30 SALES                        CHICAGO
        40 OPERATIONS                   BOSTON

这里面有销售部名字,找到deptno
再拿着deptno去找emp的所有信息

SQL> select * from emp where deptno=(select deptno from dept where dname='SALES');

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7499 ALLEN                SALESMAN                 7698 20-2-81           1600        300         30
      7521 WARD                 SALESMAN                 7698 22-2-81           1250        500         30
      7654 MARTIN               SALESMAN                 7698 28-9-81           1250       1400         30
      7698 BLAKE                MANAGER                  7839 01-5-81           2850                    30
      7844 TURNER               SALESMAN                 7698 08-9-81           1500          0         30
      7900 JAMES                CLERK                    7698 03-12-81            950                    30

已选择6行。

俩表不同,正好也能查出来,问题不大
你可以通过等值连接查
也可以通过子查询
子查询更加符合逻辑

子查询中可以使用单行操作符(=,!=,<,>),也可以使用多行操作符(in,>any,all)
in是范围查询,需要子查询有多个结果时,查询结果

查销售,或者财务

SQL> select deptno from dept where dname in('SALES','ACCOUNTING')
  2  ;

    DEPTNO
----------
        10
        30

子查询有多个结果
那么主查询不能是单行符号,应该是多行操作符in

SQL> select * from emp where deptno in(select deptno from dept where dname in('SALES','ACCOUNTING'));

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7782 CLARK                MANAGER                  7839 09-6-81           2450                    10
      7839 KING                 PRESIDENT                     17-11-81           5000                    10
      7934 MILLER               CLERK                    7782 23-1-82           1300                    10
      7521 WARD                 SALESMAN                 7698 22-2-81           1250        500         30
      7844 TURNER               SALESMAN                 7698 08-9-81           1500          0         30
      7499 ALLEN                SALESMAN                 7698 20-2-81           1600        300         30
      7900 JAMES                CLERK                    7698 03-12-81            950                    30
      7698 BLAKE                MANAGER                  7839 01-5-81           2850                    30
      7654 MARTIN               SALESMAN                 7698 28-9-81           1250       1400         30

已选择9行。

查询工资比30号部门中的某一个员工工资高的员工信息
这种要用any

SQL> select * from emp where sal>any(select sal from emp where deptno=30);

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7839 KING                 PRESIDENT                     17-11-81           5000                    10
      7902 FORD                 ANALYST                  7566 03-12-81           3000                    20
      7788 SCOTT                ANALYST                  7566 19-4-87           3000                    20
      7566 JONES                MANAGER                  7839 02-4-81           2975                    20
      7698 BLAKE                MANAGER                  7839 01-5-81           2850                    30
      7782 CLARK                MANAGER                  7839 09-6-81           2450                    10
      7499 ALLEN                SALESMAN                 7698 20-2-81           1600        300         30
      7844 TURNER               SALESMAN                 7698 08-9-81           1500          0         30
      7934 MILLER               CLERK                    7782 23-1-82           1300                    10
      7521 WARD                 SALESMAN                 7698 22-2-81           1250        500         30
      7654 MARTIN               SALESMAN                 7698 28-9-81           1250       1400         30
      7876 ADAMS                CLERK                    7788 23-5-87           1100                    20

已选择12行。

SQL> select * from emp where sal>(select min(sal) from emp where deptno=30);

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7499 ALLEN                SALESMAN                 7698 20-2-81           1600        300         30
      7521 WARD                 SALESMAN                 7698 22-2-81           1250        500         30
      7566 JONES                MANAGER                  7839 02-4-81           2975                    20
      7654 MARTIN               SALESMAN                 7698 28-9-81           1250       1400         30
      7698 BLAKE                MANAGER                  7839 01-5-81           2850                    30
      7782 CLARK                MANAGER                  7839 09-6-81           2450                    10
      7788 SCOTT                ANALYST                  7566 19-4-87           3000                    20
      7839 KING                 PRESIDENT                     17-11-81           5000                    10
      7844 TURNER               SALESMAN                 7698 08-9-81           1500          0         30
      7876 ADAMS                CLERK                    7788 23-5-87           1100                    20
      7902 FORD                 ANALYST                  7566 03-12-81           3000                    20
      7934 MILLER               CLERK                    7782 23-1-82           1300                    10

已选择12行。
SQL> select min(sal) from emp where deptno=30;

  MIN(SAL)
----------
       950

这俩写法都正确
所以子查询可以用聚合函数
好说
any就是有其一即可

那要是查询,比30号部门中所有薪资高的呢?
用all

SQL> select * from emp where sal>(select max(sal) from emp where deptno=30);

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7566 JONES                MANAGER                  7839 02-4-81           2975                    20
      7788 SCOTT                ANALYST                  7566 19-4-87           3000                    20
      7839 KING                 PRESIDENT                     17-11-81           5000                    10
      7902 FORD                 ANALYST                  7566 03-12-81           3000                    20

SQL> select * from emp where sal>all(select sal from emp where deptno=30);

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7566 JONES                MANAGER                  7839 02-4-81           2975                    20
      7788 SCOTT                ANALYST                  7566 19-4-87           3000                    20
      7902 FORD                 ANALYST                  7566 03-12-81           3000                    20
      7839 KING                 PRESIDENT                     17-11-81           5000                    10

SQL> select max(sal) from emp where deptno=30;

  MAX(SAL)
----------
      2850

all就是全部,整体

子查询里面之前收过了,不能出现null,否则查不出来

SQL> select * from emp;

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7369 SMITH                CLERK                    7902 17-12-80            800                    20
      7499 ALLEN                SALESMAN                 7698 20-2-81           1600        300         30
      7521 WARD                 SALESMAN                 7698 22-2-81           1250        500         30
      7566 JONES                MANAGER                  7839 02-4-81           2975                    20
      7654 MARTIN               SALESMAN                 7698 28-9-81           1250       1400         30
      7698 BLAKE                MANAGER                  7839 01-5-81           2850                    30
      7782 CLARK                MANAGER                  7839 09-6-81           2450                    10
      7788 SCOTT                ANALYST                  7566 19-4-87           3000                    20
      7839 KING                 PRESIDENT                     17-11-81           5000                    10
      7844 TURNER               SALESMAN                 7698 08-9-81           1500          0         30
      7876 ADAMS                CLERK                    7788 23-5-87           1100                    20
      7900 JAMES                CLERK                    7698 03-12-81            950                    30
      7902 FORD                 ANALYST                  7566 03-12-81           3000                    20
      7934 MILLER               CLERK                    7782 23-1-82           1300                    10

已选择14行。

SQL> select * from emp where mgr in(9092,null);

未选定行
SQL> select * from emp where mgr not in(9092,null);

未选定行

反正in里面不能写null

gg
懂吧

in是 = or = or =
null并不是某个值,不能用=对比,只能用is比较
这就是为啥in里面不能放null的原因。

not in
是!= and != and !=
这里也是等值对比,不能用null
在这里插入图片描述

SQL> select * from emp where mgr is null;

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7839 KING                 PRESIDENT                     17-11-81           5000                    10

SQL> select * from emp where mgr is not null;

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7369 SMITH                CLERK                    7902 17-12-80            800                    20
      7499 ALLEN                SALESMAN                 7698 20-2-81           1600        300         30
      7521 WARD                 SALESMAN                 7698 22-2-81           1250        500         30
      7566 JONES                MANAGER                  7839 02-4-81           2975                    20
      7654 MARTIN               SALESMAN                 7698 28-9-81           1250       1400         30
      7698 BLAKE                MANAGER                  7839 01-5-81           2850                    30
      7782 CLARK                MANAGER                  7839 09-6-81           2450                    10
      7788 SCOTT                ANALYST                  7566 19-4-87           3000                    20
      7844 TURNER               SALESMAN                 7698 08-9-81           1500          0         30
      7876 ADAMS                CLERK                    7788 23-5-87           1100                    20
      7900 JAMES                CLERK                    7698 03-12-81            950                    30
      7902 FORD                 ANALYST                  7566 03-12-81           3000                    20
      7934 MILLER               CLERK                    7782 23-1-82           1300                    10

已选择13行。

只能用is,is not

啥叫不是领导呢?
mgr是null是最高领导
empno如果在mgr中,说明它就是领导
如果没有你,就不是领导

SQL> select * from emp where empno not in(select mgr from emp where mgr is not null);

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7369 SMITH                CLERK                    7902 17-12-80            800                    20
      7499 ALLEN                SALESMAN                 7698 20-2-81           1600        300         30
      7521 WARD                 SALESMAN                 7698 22-2-81           1250        500         30
      7654 MARTIN               SALESMAN                 7698 28-9-81           1250       1400         30
      7844 TURNER               SALESMAN                 7698 08-9-81           1500          0         30
      7876 ADAMS                CLERK                    7788 23-5-87           1100                    20
      7900 JAMES                CLERK                    7698 03-12-81            950                    30
      7934 MILLER               CLERK                    7782 23-1-82           1300                    10

已选择8行。

这些员工都不是领导

不要再子查询中排序
排序知识为了看着方便,我们看的是主查询的结果,不需要看子查询哦

未来分页表中,可以考虑子查询排序,将来我们再说。

FTP的传输方式不是带内,而是ASCII、二进制。

FTP(File Transfer Protocol,文件传输协议)默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。控制 Socket 用来传送命令,数据 Socket 是用于传 送数据。 FTP的传输有两种方式:ASCII、二进制。
在这里插入图片描述

下列W命令中可以用于检测本机配置的DNS服务器是否工作正常的命令是( )

链接:https://www.nowcoder.com/questionTerminal/a40ab1893aa04d58a6837583b4ea524f
来源:牛客网
在这里插入图片描述

pathping 是指提供有关在源和目标之间的中间跃点处网络滞后和网络丢失的信息。
pathping 8.8.8.8

nslookup可以指定查询的类型,可以查到DNS记录的生存时间还可以指定使用哪个 DNS服务器 进行解释。
nslookup www.baidu.com

C:\Users\13439>nslookup www.baidu.com
服务器:  boxapi.sutongwang.com
Address:  192.168.8.1

非权威应答:
名称:    www.a.shifen.com
Addresses:  110.242.68.4
          110.242.68.3
Aliases:  www.baidu.com
C:\Users\13439>pathping www.baidu.com

通过最多 30 个跃点跟踪
到 www.a.shifen.com [110.242.68.4] 的路由:
  0  windows10.microdone.cn [192.168.8.126]
  1  boxapi.sutongwang.com [192.168.8.1]
  2  192.168.1.1
  3  10.70.0.1
  4     *        *        *
正在计算统计信息,已耗时 75 秒...

下列关于 IP 地址和域名的关系,说法错误的是(  )

错了第三次了
在这里插入图片描述

于共享式以太网和交换式以太网的说法错误的是()

在这里插入图片描述

链接:https://www.nowcoder.com/questionTerminal/1b09d254ec3d474a987a5b23a5548113
来源:牛客网

利用集线器连接的局域网叫共享式局域网,利用交换机连接的局域网叫交换式局域网。

以太网中采用的工作方式是CSMA/CD(载波监听多路访问/冲突检测)
共享和交换这两个概念。

打个比方,10个车道的马路,车辆在无序的状态下抢道或占道通行,容易发生交通堵塞和反向行驶的车辆对撞,使通行能力降低,共享式网络。

为了避免这种情况,在道路上标清行车线,保证每一辆车各行其道、互不干扰,是交换式网络。

而交换式网络则避免了共享式网络的不足,交换技术的作用便是根据所传递信息包的目的地址,将每一信息包独立地从端口送至目的端口,避免了与其它端口发生碰撞,提高了网络的实际吞吐量。

共享式以太网存在的主要问题是所有用户共享带宽,每个用户的实际可用带宽随网络用户数的增加而递减。这是因为当信息繁忙时,多个用户都可能同进“争用”一个信道,而一个通道在某一时刻只充许一个用户占用,所以大量的经常处于监测等待状态,致使信号在传送时产生抖动、停滞或失真,严重影响了网络的性能。

交换式以太网中,交换机供给每个用户专用的信息通道,除非两个源端口企图将信息同时发往同一目的端口,否则各个源端口与各自的目的端口之间可同时进行通信而不发生冲突。

交换机只是在工作方式上与集线器不同,其它的连接方式、速度选择等则与集线器基本相同
网卡也不例外,相同的

B RIP协议中最大的路由跳数为15,16即为不可达,所以适合中规模类型的网络

RIP 协议适用于基于 IP 的()。
在这里插入图片描述
考点确实很深

局域网拓扑结构一般有三种:星形,总线形,环形。没有统一的模式

在这里插入图片描述

在计算机网络系统中,DCE设备包括。

第二次做错了
在这里插入图片描述

链接:https://www.nowcoder.com/questionTerminal/2a84a6a2fa1d4e4ca5ba769807926638
来源:牛客网

DCE(数据通信设备),具有一定的数据处理能力和数据收发能力的设备,由DTE提供或接收数据。
常见的DCE设备有:数据通信设备或电路连接设备,如调制解调器MODEM,连接DTE设备的通信设备。

DTE和DCE的区分事实上只是针对串行端口的,
路由器通常通过串行端口连接广域网络。

TCP报文的首部与IP数据报的首部的字节数。

链接:https://www.nowcoder.com/questionTerminal/c40f04c2be1244aea143229eb9c6ac9b
来源:牛客网

TCP 报文段首部的前 20 个字节是固定的,后面有 4n 字节是根据需要而增加的选项 (n 是整数)。
在这里插入图片描述

一个IP数据报首部的长度也是20字节,再加上60字节的数据,一个IP数据报的总长度为100字节,可以知道数据占60%。
在这里插入图片描述
IP数据报总长度100

下列关于保留IP地址说法错误的是?

在这里插入图片描述

数据链路层的基本功能:帧同步,差错控制,流量控制,链路管理

链接:https://www.nowcoder.com/questionTerminal/e811e97211314dca993e12d91d89df31
来源:牛客网

数据链路层在物理层提供的服务的基础上向网络层提供服务,
其最基本的服务是将源机网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:
如何将数据组合成 数据块 ,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;
如何控制帧在 物理信道 上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。

数据链路层包含LLC逻辑链路层子层和MAC 介质访问控制 子层。 移动通信系统 中Uu口协议的第二层,也叫层二或L2。

在这里插入图片描述

则此时主机甲还可以向主机乙发送的最大字节数是()

在这里插入图片描述

链接:https://www.nowcoder.com/questionTerminal/5aff671503394b6da07da0e51d22203a
来源:牛客网

第一 个 段的确认段中通告的 接收 窗口大小为2000字节,即表明在接受到第一个报文段后,还有2000字节的缓存空间可用。

由于发送方发送了二个报文段,第二个段将占用剩下的2000字节中的1000字节,
即一共还有( 2000-1000=1000 )字节,因而 此时主机甲还可以向主机乙发送的最大字节数是1000字节 。

妥了

国标规定交换机中具备CID功能的用户电路的配置比例暂定为

在这里插入图片描述

电路交换的多路复用技术:TDM和FDM

链接:https://www.nowcoder.com/questionTerminal/87837236c1cd4089bd31078bb92900cb
来源:牛客网
在这里插入图片描述

虚电路是分组交换的两种传输方式中的一种。
在通信和网络中,虚电路是由分组交换通信所提供的面向连接的通信服务。
在两个节点或应用进程之间建立起一个逻辑上的连接或虚电路后,就可以在两个节点之间依次发送每一个分组,接收端收到分组的顺序必然与发送端的发送顺序一致,因此接收端无须负责在接收分组后重新进行排序。虚电路协议向高层协议隐藏了将数据分割成段,包或帧的过程。

网络层可提供两种网络:数据报网络和虚电路网络
英特网是数据报网络。虚电路网络是面向连接的(传输数据前先进行握手),数据报网络无连接服务。网络层只能提供上述两种网络之一(而传输层可以同时提供面向连接的TCP服务和非连接的UDP服务)

数据报网络(尽力而为是指数据报网络?)中,端系统每要发送一个分组,就为该分组加上目的端系统的地址,然后将该分组推进网络。数据报网路中不维护连接状态信息,但有转发状态信息。每个路由器使用一个分组的目的地址来转发该分组。路由器匹配目的地址时,使用最大前缀匹配规则。转发表大概每1~5分钟由路由算法更新一次

电路交换的多路复用技术:TDM和FDM

骚啊,记住了

分页,一页占一块。 分段,段里还有页,一页占一块。

在这里插入图片描述

对于有多个CPU的计算机,同时在每一个CPU上执行进程称为多重处理。

只有一台CPU,它做不到多重处理

链接:https://www.nowcoder.com/questionTerminal/902cf56fc32c41ecaf949e060073987f
来源:牛客网
在这里插入图片描述

多任务处理:同一个时间内计算机系统中如果允许多个进程同时处于运行状态,这便是多任务。

多重处理:对于有多个CPU的计算机,同时在每一个CPU上执行进程称为多重处理。

只有一个CPU的计算机,操作系统可以进行多进程并发执行,实现多任务处理。
如果一台有多个CPU的计算机,操作系统既能进行多任务处理又能进行多重处理。

resume()方法就是将一个挂起线程复活继续执行。

在这里插入图片描述
有争议的题目
在这里插入图片描述
磁道访问,最短时间寻道

在这里插入图片描述

在采用动态优先权的优先权调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和()相同。

动态,时间上推进
先来先服务

在这里插入图片描述

io可以和cpu计算并行走

在这里插入图片描述

在这里插入图片描述

每个磁盘块可包含2x512/4=256个索引项,二级索引则可以索引256x256个磁盘块,文件长度为256x256x(512x2)B=64MB

在这里插入图片描述
这个计算很奇特

256的平方级索引项
每个项1024B
1KB
2的8+8次方
2的6

Windows系统当然可以支持多核处理器

在这里插入图片描述

虚拟设备是指把一个物理设备变换成多个对应的逻辑设备。

在这里插入图片描述

特权指令是指只允许操作系统使用,而不允许一般用户使用的指令。特权指令时机器指令,而系统调用往往以函数调用的形式出现,实现操作系统提供的子功能

在这里插入图片描述
系统调用专门是给用户调用,去用操作系统的


总结

提示:重要经验:

1)
2)学好oracle,操作系统,计算机网络,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
"Labuladong"是一个著名的算法题解博主,他的刷题笔记非常受欢迎。他的笔记具有以下几个特点: 1. 思路清晰:Labuladong的刷题笔记总是能够很清晰地阐述解题思路。他善于将复杂的问题简化为易于理解的小问题,并通过逐步引入关键概念和方法,帮助读者理解并掌握解题思路。 2. 逻辑严谨:Labuladong的刷题笔记经过深思熟虑,逻辑严谨。他会从问题的定义开始,逐步引入相关的概念和解题思路,循序渐进地解决问题。这种严谨的逻辑结构有助于读者理解和消化算法的核心思想。 3. 举例详细:Labuladong的刷题笔记通常会通过具体的例子来说明解题思路。这种举例的方式不仅能够帮助读者更好地理解解题方法,还可以帮助读者更好地应用这些方法解决其他类似的问题。 4. 知识点整合:Labuladong的刷题笔记不仅仅是一个题解,而是将相关的算法知识点整合起来,构建出一个完整的学习体系。他会引入一些底层的算法原理,将不同的解题方法进行比较和总结。这种整合的方式能够帮助读者更好地理解和掌握算法的本质。 总之,Labuladong的刷题笔记以其思路清晰、逻辑严谨、举例详细和知识点整合等特点,为广大读者提供了一种深入学习和理解算法的有效途径。通过阅读他的刷题笔记并进行实践,读者能够提高解题能力,并在面对各种算法问题时能够找到正确、高效的解决方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰露可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值