--以scott用户下的dept和emp表为例

--注意:如果scott用户不能使用,请使用system用户登录
--解锁scott用户
ALTER USER SCOTT ACCOUNT UNLOCK;
--重新设置密码 (identified 被识别的)
alter user scott identified by tiger;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SQL中的SELECT_简单查询语句总结的更多相关文章

  1. linq to ef(相当于sql中in的用法)查询语句

    select * from DoctorInfo doctor where doctor.HosDepartId in (select Id from HospitalDepartment hd wh ...

  2. 浅谈sql 、linq、lambda 查询语句的区别

    浅谈sql .linq.lambda 查询语句的区别 LINQ的书写格式如下: from 临时变量 in 集合对象或数据库对象 where 条件表达式 [order by条件] select 临时变量 ...

  3. T-SQL简单查询语句(模糊查询)

    T-SQL简单查询语句 简单查询: 1.最简单查询(查所有数据) select * from 表名: 注:* 代表所有列 select * from info 2.查询指定列 select code, ...

  4. oracle中简单查询语句的格式及执行顺序分析

    一条简单的查询sql格式如下: SELECT ... FROM .... [WHERE ...] --过滤单行 [GROUP BY ...   [HAVING ...]]--GROUP BY对前面wh ...

  5. SQL 中的多条件查询

    在应用程序开发中,多条件查询是个经常遇到的情况,最简单最麻烦的方法是把所有的可能情况都考虑到,但是无疑是繁琐的,而且很容易漏掉可能的情形,下面是SQL语句实现多条件查询的情况 select * fro ...

  6. sql中的不常见查询

    1.对于CROSS APPLY 和 OUTER APPLY 的应用: CROSS APPLY 类似于INNER JOIN 但是,可以规定对于满足条件的数据需要关联几行,应用场景: 每个零件把第一个工单 ...

  7. SQL Serever学习9——基础查询语句

    SQL语言概述 SQL是结构化查询语言(Structure Query Language),1974年提出,1979年被IBM实现,SQL语言已经成为关系型数据库的标准语言. 包括: DDL数据定义语 ...

  8. T-SQL简单查询语句

    简单查询: 1.最简单查询(查所有数据)select * from 表名: 注:* 代表所有列select * from info 2.查询指定列select code,name from info ...

  9. MySQL简单查询语句练习

    数据查询语法(DQL) DQL就是数据查询语言,数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端. 语法: SELECT selection_list /*要查询的列名称*/ F ...

随机推荐

  1. dns服务器报错解决

    搭了个dns服务器,配置完毕老是报错,这里总结一下常见思路: ①关闭firewalld ②关闭selinux ③/var/named里面的配置文件所属用户组是否是root:named ④named.c ...

  2. YTU 2427: C语言习题 整数排序

    2427: C语言习题 整数排序 时间限制: 1 Sec  内存限制: 128 MB 提交: 391  解决: 282 题目描述 用指向指针的指针的方法对n个整数排序并输出.要求将排序单独写成一个函数 ...

  3. sid, pid, gid

    (一) 参考 :https://unix.stackexchange.com/questions/18166/what-are-session-leaders-in-ps 命令: ps xao pid ...

  4. ubuntu安装wine+plsql

    1.在ubuntu下装了win7的虚拟机,在使用plsql进行开发的时候发现很慢很卡,经常半天反应不过来.机器是不差的,1w5的thinkstation,实在受不了这种 速度,想着在ubuntu下搞一 ...

  5. 虚拟机bridged, NAT and host-only网络区别

    In Linux, a network of each type is created when running vmware-config.pl. In Windows, they are auto ...

  6. 从MyEclipse到IntelliJ IDEA

    如何做到全键盘操作呢? 1.自定义快捷键实现全屏操作 你可以设置自定义快捷键进入全屏操作,并实现各个窗口之间的切换.这样,你就可以告别小窗口的时代,体验全屏显示的效果了!(相信有过多年开发经验的你一定 ...

  7. pkill详解

    pkill详解 一:含义: 是ps命令和kill命令的结合,按照进程名来杀死指定进程,pkill和killall应用方法差不多,也是直接杀死运行中的程序:如果您想杀掉单个进程,请用kill来杀掉. 二 ...

  8. logging日志类

    #! /usr/bin/env python #coding=utf-8 import logging,os class Logger: def __init__(self, path,clevel ...

  9. git status -s 的表达式的读法

     1  2  读法  解决方案  ??    未被追踪  git add -A 或git add 文件路径  A    新添加文件 注:??被add后的状态  OK,等待commit.  M    已 ...

  10. python __builtins__ set类 (60)

    60.'set',  转换为集合类型 class set(object) | set() -> new empty set object | set(iterable) -> new se ...