sql系列(基础)-第二章 限制和排序数据

   更好的看↑代码点击VIEW PLAN
第二章 约束和排序数据

1. 在 emp 表中选择工资介于 1500 到 2500 的员工的信息;
注意:使用 between 下边界 and 上边界时。条件包括边界值;

[email protected]>l
  1  select * from emp
  2* where sal between 1500 and 2500
[email protected]>/

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30

2. 在emp表中选择位于20,30 部门的员工的信息;

[email protected]>select *from emp
  2  where deptno in (20,30);

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 17-DEC-80        800                    20
      7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
      7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
      7566 JONES      MANAGER         7839 02-APR-81       2975                    20
      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
      7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30
      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20
      7900 JAMES      CLERK           7698 03-DEC-81        950                    30
      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20

11 rows selected.

3. 在emp表中选择位于员工的名字中包括大写字符 ‘A’ 的员工的信息;

[email protected]>select * from emp
  2  where ename like '%A%';

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
      7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20
      7900 JAMES      CLERK           7698 03-DEC-81        950                    30

7 rows selected.

注意:假设查询的名字中包括%或者_ ,并且查询的时候又要查询这种信息,须要用到换位码。
注意:通配符%,表示0或者多个字符一样;通配符_,表示1个字符一样。

	3.1 创建与 emp 表结构同样的表;
[email protected]>create table emp_n                    /* 參照emp表创建新表emp_n */
  2  as select * from emp where 1=2;           /* 加where 1=2 一致表结构没有数据 */

Table created.

[email protected]>select * from emp_n;

no rows selected

	3.2 加入包括通配符的測试用数据;
[email protected]>insert into emp_n(empno,ename,sal) values(&empno,&ename,&sal);
Enter value for empno: 1001
Enter value for ename: 'whwh%gogo'
Enter value for sal: 1000
old   1: insert into emp_n(empno,ename,sal) values(&empno,&ename,&sal)
new   1: insert into emp_n(empno,ename,sal) values(1001,'whwh%gogo',1000)

1 row created.

[email protected]>/
Enter value for empno: 1002
Enter value for ename: '%whwh'
Enter value for sal: 2000
old   1: insert into emp_n(empno,ename,sal) values(&empno,&ename,&sal)
new   1: insert into emp_n(empno,ename,sal) values(1002,'%whwh',2000)

1 row created.

[email protected]>/
Enter value for empno: 1003
Enter value for ename: 'whwh_gogo'
Enter value for sal: 3000
old   1: insert into emp_n(empno,ename,sal) values(&empno,&ename,&sal)
new   1: insert into emp_n(empno,ename,sal) values(1003,'whwh_gogo',3000)

1 row created.

[email protected]>/
Enter value for empno: 1004
Enter value for ename: '_gogo'
Enter value for sal: 4000
old   1: insert into emp_n(empno,ename,sal) values(&empno,&ename,&sal)
new   1: insert into emp_n(empno,ename,sal) values(1004,'_gogo',4000)

1 row created.

[email protected]>commit;

Commit complete.

[email protected]>select * from emp_n;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      1001 whwh%gogo                                       1000
      1002 %whwh                                           2000
      1003 whwh_gogo                                       3000
      1004 _gogo                                           4000

	3.3 换位码的用法。(此处以\作为换位码。换位码还能够指定其它字符)
例:检索包括%的记录信息。
[email protected]>select * from emp_n
  2  where ename like '%\%%' escape '\';

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      1001 whwh%gogo                                       1000
      1002 %whwh                                           2000

[email protected]>select * from emp_n
  2  where ename like '%\%%';

no rows selected

例:检索以%开头的记录信息;
[email protected]>select * from emp_n
  2  where ename like '\%%' escape '\';

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      1002 %whwh                                           2000

例:检索包括_的记录信息。
[email protected]>select * from emp_n
  2  where ename like '%\_%' escape '\';

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      1003 whwh_gogo                                       3000
      1004 _gogo                                           4000

例:检索以_开头的记录信息;
[email protected]>select * from emp_n
  2  where ename like '\_%' escape '\';

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      1004 _gogo                                           4000

4 复合条件的使用
	4.1 对于and条件的复合(能够将between...and...进行转换)

例:在emp表中选择工资介于2000到3000的员工的信息。
[email protected]>select * from emp
  2  where sal>=2000 and sal<=3000;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7566 JONES      MANAGER         7839 02-APR-81       2975                    20
      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20

[email protected]>select * from emp
  2  where sal between 2000 and 3000;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7566 JONES      MANAGER         7839 02-APR-81       2975                    20
      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20

	4.2 对于or条件复合(能够将in()进行转换)
例:在emp表中选择10号和20号部门的员工信息;
[email protected]>select * from emp
  2  where deptno=10 or deptno=20;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 17-DEC-80        800                    20
      7566 JONES      MANAGER         7839 02-APR-81       2975                    20
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
      7839 KING       PRESIDENT            17-NOV-81       5000                    10
      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20
      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10

8 rows selected.

[email protected]>select * from emp
  2  where deptno in (10,20);

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 17-DEC-80        800                    20
      7566 JONES      MANAGER         7839 02-APR-81       2975                    20
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
      7839 KING       PRESIDENT            17-NOV-81       5000                    10
      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20
      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10

8 rows selected.

	5 对于表中数据的排序
	5.1 asc  表示依照所给字段进行升序排列(默认升序)
		desc 表示依照所给字段进行降序排列
例:将emp表中10号部门的员工信息依照sal列升序排列
[email protected]CL>select * from emp
  2  where deptno=10;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7839 KING       PRESIDENT            17-NOV-81       5000                    10
      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10

[email protected]>select * from emp
  2  where deptno=10
  3  order by sal asc;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7839 KING       PRESIDENT            17-NOV-81       5000                    10

[email protected]>select * from emp
  2  where deptno=10
  3  order by sal;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7839 KING       PRESIDENT            17-NOV-81       5000                    10

例:将emp表中20号部门的员工信息依照sal列降序排列
[email protected]>select * from emp
  2  where deptno=20
  3  order by sal desc;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
      7566 JONES      MANAGER         7839 02-APR-81       2975                    20
      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20
      7369 SMITH      CLERK           7902 17-DEC-80        800                    20

	5.2 假设order by 后面跟多个字段。则将结果集先依照第1个字段进行排序【条件1】。
		再按第2个字段进行排序【条件2】;
	注意:【条件1】假设依照第1个字段分不开先后顺序的时候。才会依照第2个字段排序。
		   asc 或者desc 影响的字段,不过它紧挨着的那个字段。
例:将emp表中10号部门的员工信息按sal降序排列,empno升序排列;
[email protected]>select * from emp
  2  where deptno=10
  3  order by sal desc,empno asc;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7839 KING       PRESIDENT            17-NOV-81       5000                    10
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10

例:将emp表中20号部门的员工信息依照empno 降序排列,sal升序排列;
[email protected]>select * from emp
  2  where deptno=20
  3  order by empno desc,sal asc;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20
      7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
      7566 JONES      MANAGER         7839 02-APR-81       2975                    20
      7369 SMITH      CLERK           7902 17-DEC-80        800                    20

	 5.3 除了能够使用字段排序。还能够使用字段所在的先后位置排序;
确定字段在表中的先后顺序。
[email protected]>set lines 100
[email protected]>desc emp;
 Name                                                  Null?

Type
 ----------------------------------------------------- -------- ------------------------------------
 EMPNO                                                 NOT NULL NUMBER(4)
 ENAME                                                          VARCHAR2(10)
 JOB                                                            VARCHAR2(9)
 MGR                                                            NUMBER(4)
 HIREDATE                                                       DATE
 SAL                                                            NUMBER(7,2)
 COMM                                                           NUMBER(7,2)
 DEPTNO                                                         NUMBER(2)

 例:将emp表中10号部门的员工信息按sal降序排列,empno升序排列。
 [email protected]>select * from emp
  2  where deptno=10
  3  order by 6 desc,1 asc;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7839 KING       PRESIDENT            17-NOV-81       5000                    10
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10

例:将emp表中20号部门的员工信息依照empno 降序排列,sal升序排列;
[email protected]>select * from emp
  2  where deptno=20
  3  order by 1 desc,6 asc;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20
      7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
      7566 JONES      MANAGER         7839 02-APR-81       2975                    20
      7369 SMITH      CLERK           7902 17-DEC-80        800                    20

	 5.4 除了能够使用number 类型的字段进行排序外,还能够使用字符串或者时间类型的字段进行排序。
	 注意:字符串排序:依照字符相应的ASCII码的先后进行排序。
	       日期排序:依照日期的先后进行排序,时间越往后越大;
例:将emp表中员工依照job升序、ename降序进行排列;(先按Job排序。同样的job按ename降序)
[email protected]>select * from emp
  2  order by job asc,ename desc;

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

14 rows selected.

例:将emp表中员工依照 HIREDATE 升序,sal降序排列(假设HIREDATE同样,依照sal降序)
先将HIREDATE显示格式设定
[email protected]>alter session set nls_date_format='yyyy-mm-dd';

Session altered.

[email protected]>select * from emp
  2  order by hiredate asc,sal desc;

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

14 rows selected.

	6. 使用结果集中的别名进行排序。
例:依照emp表中员工对于的年薪(sal*12)进行排序。
[email protected]>select empno,ename,hiredate,sal*12 year_sal
  2  from emp
  3  order by year_sal desc;

     EMPNO ENAME      HIREDATE     YEAR_SAL
---------- ---------- ---------- ----------
      7839 KING       1981-11-17      60000
      7902 FORD       1981-12-03      36000
      7788 SCOTT      1987-04-19      36000
      7566 JONES      1981-04-02      35700
      7698 BLAKE      1981-05-01      34200
      7782 CLARK      1981-06-09      29400
      7499 ALLEN      1981-02-20      19200
      7844 TURNER     1981-09-08      18000
      7934 MILLER     1982-01-23      15600
      7521 WARD       1981-02-22      15000
      7654 MARTIN     1981-09-28      15000
      7876 ADAMS      1987-05-23      13200
      7900 JAMES      1981-12-03      11400
      7369 SMITH      1980-12-17       9600

14 rows selected.

注意:当然也能够依照字符串、日期相应的别名进行排序;

	7. 假设排序的字段中包括null值,结果会怎么样?
	注意:在字段进行比較大小的时候,null 值比不论什么值都大;
例:emp表中员工的信息依照comm降序排列;
[email protected]>select * from emp
  2  order by comm desc;

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

14 rows selected.

注意:null 值之间的排序不考虑(由于Null 和 null 之间无法比較大小)

假设我想将comm有值的部分换到上面,该怎么办?
[email protected]>select * from emp
  2  order by comm desc nulls last;

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

14 rows selected.

同理:自己验证 升序 排列
[email protected]>select * from emp
  2  order by comm asc nulls first;

</span>

版权声明:本文博客原创文章,博客,未经同意,不得转载。

时间: 2024-10-15 00:47:50

sql系列(基础)-第二章 限制和排序数据的相关文章

sql系列(基础篇)-第二章 约束和排序数据

更好的看↑代码点击VIEW PLAN 第二章 约束和排序数据 1. 在 emp 表中选择工资介于 1500 到 2500 的员工的信息: 注意:使用 between 下边界 and 上边界时,条件包括边界值: [email protected]>l 1 select * from emp 2* where sal between 1500 and 2500 [email protected]>/ EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----

第二章 约束和排序数据(SQL基础)

第二章 约束和排序数据 1. 在 emp 表中选择工资介于 1500 到 2500 的员工的信息:                注意:使用 between 下边界 and 上边界时,条件包括边界值: [email protected]>select * from emp where sal between 1500 and 2500 2. 在emp表中选择位于20,30 部门的员工的信息: [email protected]>select *from emp where deptno in

学习笔记之--047.第二章 限制和排序数据

语法:select * |{[DISTINCT] column | expression [alias],...} FROM table [WHERE condition(s)]; select employee_id,last_name,job_id,department_id from employees where department_id=90; = > >= < <= <> BETWEEN...AND... IN(set) like is null sele

NIO入门系列之第二章:通道和缓冲区

第2章 通道和缓冲区 2.1  概述 通道和缓冲区是 NIO 中的核心对象,几乎在每一个I/O 操作中都要使用它们. 通道是对原 I/O 包中的流的模拟.到任何目的地(或来自任何地方)的所有数据都必须通过一个 Channel 对象.一个 Buffer 实质上是一个容器对象.发送给一个通道的所有对象都必须首先放到缓冲区中:同样地,从通道中读取的任何数据都要读到缓冲区中. 2.2  什么是缓冲区? Buffer 是一个对象,它包含一些要写入或者刚读出的数据.在 NIO 中加入 Buffer 对象,体

数电基础 第二章

数电基础 第二章 逻辑代数中三种基本运算:与.或.非 与:?条件同时具备,结果发生 ?Y=A AND B = A&B=A·B=AB A B Y 0 0 0 0 1 0 1 0 0 1 1 1 或:条件之一具备,结果发生 Y= A OR B = A+B A B Y 0 0 0 0 1 1 1 0 1 1 1 1 非:条件不具备,结果发生 Y=A`=NOT A A Y 0 1 1 0 几种常用的复合逻辑运算 与非: 或非: 与或非: 异或: A B Y 0 0 0 0 1 1 1 0 1 1 1 0

计算机系统基础 第二章(计算机系统概述) Fundament of Computer System ——公式记忆2

计算机系统基础 第二章(计算机系统概述)  Fundament of Computer System ——公式记忆2 2019-10-22 Tue. ♦ 1.浮点表示  任意实数X = (-1)S × M × RE S:Sign 符号位  (S取值0或1:决定 数X的符号) M:尾数 (尾数M的位数  反映 X的有效位数:决定 数X的表示精度:有效位数越多,表示精度就越高) R:基数  () E:Exponent 阶数 (阶E的位数决定数X的表示范围:阶E的值 确定 小数点的位置) 未完待续..

SQL Server 基础 04 函数与分组查询数据

函数与分组查询数据 系统函数分 聚合函数.数据类型转换函数.日期函数.数学函数 . . . 1. 聚合函数 主要是对一组值进行计算,然后返回一个值. 聚合函数包括 sum(求和).avg(求平均值).min().max().count(求数量) sum函数语法  :  sum(列明) select sum(sno) as 序号和 from stu_info avg select avg(sno) as 序号平均值 from stu_info . . . count 用来一组值的个数,统计 sel

《Entity Framework 6 Recipes》翻译系列 (3) -----第二章 实体数据建模基础之创建一个简单的模型 (转)

第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以跳过本章. 本章将带你漫游使用实体框架建模的基本实例,建模是实体框架的核心特性,同时也是区别实体框架和微软早期的数据访问平台的特性.一旦建好模,你就可以面向模型编写代码,而不用面向关系数据库中的行和列. 本章以创建一个简单概念模型的实例开始,然后让实体框架创建底层的数据库,剩下的实例,将向你展示,如

《Entity Framework 6 Recipes》翻译系列 (4) -----第二章 实体数据建模基础之从已存在的数据库创建模型 (转)

不知道对EF感兴趣的并不多,还是我翻译有问题(如果是,恳请你指正),通过前几篇的反馈,阅读这个系列的人不多.不要这事到最后成了吃不讨好的事就麻烦了,废话就到这里,直奔主题. 2-2 从已存在的数据库创建模型 问题 有一个存在的数据库,它拥有表.也许还有视图.外键.你想通过它来创建一个模型. 解决方案 让我们设想,你拥有一个描述诗人(Poet)以及他们的诗(Poem),还有他们之间关系的数据库.如图2-7所示. 图2-7 一个关于诗人及他们的诗的简单数据库 从上图可以看出,一个诗人可能是一首或多首