玉祥平台客服-15087858732

标题: 单表sql的查询语句 [打印本页]

作者: fteair    时间: 2020-6-17 14:52
标题: 单表sql的查询语句
大体结构:select   [字段|*   as    别名]  from [表名] where [条件 and|or]
1.需要注意distinct 消除重复行  SELECT DISTINCT empno,job FROM emp ;
2.用||连接显示信息      SELECT '编号是 ' || empno || '姓名是 ' || ename || '工作是 ' || job FROM emp ;
3.可以做四则运算     求出年收入:SELECT ename , sal * 12 income FROM emp ;
4.条件查询的where子句  
     重点的条件IS NOT NULL和 IS NULL 查询有佣金的人 : SELECT * FROM emp WHERE comm IS NOT NULL ;
    有两个条件时用AND(和|且)或者OR(或|并)连接       基本工资大于1500和有奖金的员工 :SELECT * FROM emp WHERE sal>1500 AND comm IS NOT NULL ;
    NOT()表整体相反       基本工资不大于1500和没有奖金的员工 :SELECT * FROM emp WHERE NOT( sal>1500 AND comm IS NOT NULL) ;  
    BETWEEN  小值|‘日期加单引号 ’ and 大值         查询工资在1500到2000的员工 :SELECT * FROM emp WHERE sal>1500 AND sal<3000  =   SELECT * FROM emp WHERE sal BETWEEN 1500 AND 3000 ;
           单引号括字符信息必须大小写正确    查询名字是SMITH的员工:SELECT * FROM emp WHERE ename='SMITH' ;
    使用字段IN|NOT  IN()表同一字段的多条件查询 (数值和字符串都可以)        查询部门号为7369,7499,7521的员工信息:SELECT * FROM emp WHERE empno IN (7369,7499,7521) ;
    LIKE的模糊查询(可查日期加单引号)   注意_表一个未知字符,%表0个或多个未知字符            查询第二个名字带M的员工:SELECT * FROM emp WHERE ename LIKE '_M%' ;
    <> != 表示不等于        查询不是7396的员工信息: SELECT * FROM emp WHERE empno<>7369 ;
5.对结果进行排序(ORDER  BY 排序)
SELECT {DISTINCT} * | FROM {WHERE (s)} {ORDER BY 1, 2 ASC|DESC} ASC表升序 DESC表降序(默认)
注意下第一排序和第二排序的区别 :在第一排序相同情况下进行第二排序
6.单行函数和日期函数有时间补上


作者: fteair    时间: 2020-6-17 14:53

作者: 张兴康    时间: 2020-6-18 14:02

作者: fteair    时间: 2020-6-18 14:40
张兴康 发表于 2017-8-18 14:02


作者: caixuqad    时间: 2020-6-18 18:12

作者: 张兴康    时间: 2020-6-21 14:59
fteair 发表于 2017-8-18 14:40






欢迎光临 玉祥平台客服-15087858732 (http://bbs.delit.cn/) Powered by Discuz! X3.2