度量快速开发平台-专业、快速的软件定制快开平台

标题: SQL中的SELECT 简单查询语句总结 [打印本页]

作者: fteair    时间: 2020-6-11 18:15
标题: SQL中的SELECT 简单查询语句总结
  1. -scott用户不能使用,使用system登录
  2. --修改用户scott账户解锁
  3. ALTER USER SCOTT ACCOUNT UNLOCK;
  4. --重新设置密码identified被识别的
  5. alter user scott identified by tiger;

  6. --选择 所有字段 scott用户部门表
  7. SELECT * FROM scott.dept;
  8. --员工表
  9. SELECT * FROM scott.emp;

  10. --SELECT{*, column [alias],...}FROM table;
  11. SELECT empno,ename,sal FROM scott.emp;

  12. --SELECT语句中的算术表达式
  13. SELECT empno,ename,sal,sal * 12 FROM scott.emp;

  14. --运算符的优先级
  15. SELECT empno,ename,sal,sal * 12 + 100 FROM scott.emp;
  16. SELECT empno,ename,sal,sal * (12 + 100) FROM scott.emp;

  17. --字符串的连接操作符 \\(相当于java的++)
  18. --把两个字段的数据使用_连接起来
  19. SELECT empno ||'_'|| ename FROM scott.emp;

  20. /**
  21. 重点:NULL 空值
  22. 空值是指不可用,未分配的值
  23. 空值不等于零或空格
  24. 任意类型都可以支持空值
  25. 包括空值的任何算术表达式都等于空
  26. */
  27. --查询scott用户的emp表的所有列
  28. SELECT * FROM scott.emp;
  29. --查询scott用户的emp表的所有列,条件为comm等于0
  30. SELECT * FROM scott.emp WHERE comm = 0;
  31. --查询scott用户的emp表的所有列,条件为comm等于空字符串
  32. SELECT * FROM scott.emp WHERE comm = '';
  33. --查询scott用户的emp表的所有列,条件为comm等于空
  34. SELECT * FROM scott.emp WHERE comm = NULL;
  35. SELECT * FROM scott.emp WHERE comm IS NULL;
  36. SELECT * FROM scott.emp WHERE comm IS NOT NULL;
  37. SELECT empno,ename,sal,comm,(sal + comm,sal) * 12 FROM scott.emp;

  38. --nvl函数(Java的方法,传参数进去返回结果)
  39. --nvl(第一个参数,第二个参数),如果第一个参数为null,则取第二个参数
  40. SELECT empno,ename,sal,comm,NVL(sal + comm,sal) * 12 FROM scott.emp;

  41. --定义字段的别名,注意,别名不支持使用单引号
  42. SELECT empno,ename,sal,sal * 12 AS yearsal FROM scott.emp;
  43. SELECT empno,ename,sal,sal * 12 yearsal FROM scott.emp;
  44. SELECT empno,ename,sal,sal * 12 AS "yearsal" FROM scott.emp;
  45. SELECT empno,ename,sal,sal * 12 "yearsal" FROM scott.emp;
  46. --查询规定:empno叫做columnName列名,eID叫做columnLable列标签(自己定义的别名)
  47. SELECT empno AS eID,ename,sal,sal * 12 AS yearsal FROM scott.emp;
  48. --JDBC中 getInt(String columnLable) 如果有别名则是别名,如果没有别名则columnLable就是别名

  49. --DISTINCT关键字明显的有区别的
  50. --缺省情况下查询显示所有行,包括重复行
  51. SELECT deptno FROM scott.emp;
  52. --DISTINCT关键字去除重复数据
  53. SELECT DISTINCT deptno FROM scott.emp;
  54. --DISTINCT的作用范围是后面所有字段的组合
  55. SELECT DISTINCT deptno,ename FROM scott.emp;
  56. SELECT * FROM scott.emp;
  57. SELECT DISTINCT deptno,job FROM scott.emp;
  58. --为什么DISTINCT的作用范围是后面所有字段的组合
  59. SELECT DISTINCT deptno,ename FROM scott.emp WHERE deptno = 30;
  60. --DISTINCT deptno之后比如30只有一条记录,而30有6个ename,所以无法显示完整的数据

  61. --where子句 限制筛选数据,必须跟在from之后
  62. SELECT * FROM scott.emp WHERE deptno = 20 OR deptno = 30;
  63. SELECT * FROM scott.emp WHERE deptno = 30 AND mgr = 7698;

  64. --比较运算符
  65. SELECT * FROM scott.emp WHERE sal >= 800 AND sal <= 1600;
  66. --between and
  67. SELECT * FROM scott.emp WHERE sal BETWEEN 800 AND 1600;
  68. --in 包含,in执行的时候会拆分成一堆的or
  69. SELECT * FROM scott.emp WHERE deptno = 20 OR deptno = 30;
  70. SELECT * FROM scott.emp WHERE deptno IN(20,30);
  71. --like模糊查询 区分大小写
  72. --%匹配所有 _匹配一个字符
  73. --查询所有以 "s" 开头的员工
  74. SELECT * FROM scott.emp WHERE ename LIKE 'S%';
  75. --查询所有以"s"结尾的员工
  76. SELECT * FROM scott.emp WHERE ename LIKE '%S';
  77. --查询名字中包含"S"的员工
  78. SELECT * FROM scott.emp WHERE ename LIKE '%S%';
  79. --查询名字中第二个字符是A的员工
  80. SELECT * FROM scott.emp WHERE ename LIKE '_A%';

  81. --优先级的规则 先and 再or
  82. SELECT ename,job,sal
  83. FROM scott.emp
  84. WHERE job='PERSIDENT'
  85. OR job='SALESMAN'
  86. AND sal>1500;

  87. SELECT ename,job,sal
  88. FROM scott.emp
  89. WHERE job='SALESMAN'
  90. OR (job='PERSIDENT'
  91. AND sal>1500);

  92. --order by 以...排序
  93. --descend 降序
  94. --ascend 升序
  95. --对结果集排序 order by asc(升序 默认) desc(降序)
  96. --注意:order by只能出现在sql语句的最后一行
  97. --按照薪水从低到高排序
  98. SELECT * FROM scott.emp ORDER BY sal;
  99. SELECT * FROM scott.emp ORDER BY sal asc;
  100. SELECT * FROM scott.emp ORDER BY sal desc;
复制代码



作者: fteair    时间: 2020-6-11 18:15

作者: 张兴康    时间: 2020-6-12 17:00

作者: fteair    时间: 2020-6-12 17:18
张兴康 发表于 2018-1-12 17:00


作者: 张兴康    时间: 2020-6-15 15:49

作者: fteair    时间: 2020-6-15 17:45

作者: fteair    时间: 2020-6-15 17:48

作者: fteair    时间: 2020-6-15 17:49





欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://plat.delit.cn/) Powered by Discuz! X3.2