大体结构: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.单行函数和日期函数有时间补上
|