美文网首页
数据库基础03基本查询语句

数据库基础03基本查询语句

作者: Andy_Lxh | 来源:发表于2018-11-24 10:30 被阅读0次

基本查询语句

  • from

SQL查询语句的语法如下:

SELECT <*,COLUMN[NAME],...> FROM TABLE

其中:SELECT用于指定要查询的列,FROM指定要从哪个表中查询。如果要查询所有列,可以再SELECT后面使用*号,如果只查询特定的列,可以直接在SELECT后面指定列名,列名之间需要使用逗号隔开。

示例:查询dept表中的所有记录
SELECT*FROM dept;
  • 使用别名

在SQL语句中可以通过使用列的别名改变标题的显示样式,或者表示计算结果的含义,使用语法是列的别名跟着列名后,中间可以加或者不加一个“AS”关键字。

例如
SELECT EMPNO AS ID,ENAME NAME,SAL*12 ANNUAL_SAL FROM emp;
  • WHERE字句

在SELECT语句中,可以再WHERE字句中使用比较操作符限制查询结果,是可选的。
当查询条件中和数字比较,可以使用单引号引起,也可以不用,当和字符及日期类型的数据比较,则必须用单引号引起。

示例:查询部门10下的员工信息
SELECT*FROM emp WHERE DEPTNO = 10;
查询职员表中职位是'SALESMAN’的职员
SELECT ENAME,SAL,JOB FROM emp JOB ='SALESMAN';
  • SELECT 字句

如果只查询表的部分列,需要在SELECT后面指定列名,例如:

SELECT EMPNO,ENAME,SAL,JOB FROM emp;

查询条件

  • 使用>, <, >=, <=, !=, <>, =

在WHERE字句中的查询条件,可以使用比较运算符来做查询。

示例:查询职员表中薪水低于2000元的职员信息;
SELECT ENAME,SAL FROM emp WHERE SAL < 2000;
查询职员表中不属于部门10的员工信息(!=等价于<>)
SELECT ENAME,SAL,JOB FROM emp WHERE DEPTNO != 10;
查询职员表中在2002年1月1号以后入职的职员信息,比较日期类型数据
SELECT ENAME,SAL,HIREDATE FROM emp 
WHERE HIREDATE > TO_DATE('2002-1-1','YYYY-MM-DD');
  • 使用AND,OR关键字

在SQL操作中,如果希望返回的结果必须满足多个条件,应该使用AND逻辑操作符连接这些条件,如果希望返回的结果满足多个条件之一即可,应该使用OR逻辑操作符连接这些条件。

示例:查询薪水大于1000并且职位是'CLERK'的职员信息
SELECT ENAME,SAL,JOB FROM emp
WHERE SAL>1000 AND JOB = 'CLERK';
查询薪水大于1000或者职位是'CLERK'的职员信息
SELECT ENAME,SAL,JOB FROM emp
WHERE SAL > 1000 OR JOB = 'CLERK';
  • 使用LIKE条件(模糊查询)

当用户在执行查询时,不能完全确定某些信息的查询条件,或者只知道信息的一部分,可以借助LIKE来实现模糊查询。LIKE需要借助两个通配符→ %:表示0到多个字符、_:标识单个字符,这两个通配符可以配合使用,构造灵活的匹配条件。

示例:查询职员姓名中第二个字符是'A'的员工信息
SELECT ENAME,JOB FROM emp WHERE ENAME LIKE '_A%'
  • 使用IN和NOT IN

在WHERE字句中可以用比较操作符IN(list)来取出符合列表范围中的数据。其中的参数list表示值列表,当列或表达式匹配于列表中的任何一个值时,条件为true,该条记录则被显示出来。
IN也可以理解为一个范围比较操作符,只不过这个范围是一个指定的值列表,NOT IN(list)取出不符合此列表中的数据记录。

示例:查询职位是MANAGER或者CLERK的员工
SELECT ENAME,JOB FROM emp WHERE JOB IN ('MANAGER','CLERK');
查询不是部门10或20的员工
SELECT ENAME,JOB FROM emp WHERE DEPTNO NOT IN (10,20);
  • BETWEEN...AND...

BETWEEN...AND...操作符用来查询符合某个值域范围条件的数据,最常见的是使用在数字类型的数据范围上,但对字符类型和日期类型数据也同样适用。

示例:查询薪水在1000-3000之间的职员信息
SELECT ENAME,SAL FROM emp WHERE SAL BETWEEN 1000 AND 3000;
  • 使用IS NULL和IS NOT NULL

空值NULL是一个特殊的值,比较的时候不能使用"="号,必须使用IS NULL,否则不能得到正确的结果。

示例:查询哪些员工的奖金数据为NULL
SELECT ENAME,SAL,COMM FROM emp WHERE COMM IS NULL;

查询哪些员工有奖金

SELECT ENAME,SAL,COMM FROM emp WHERE COMM IS NOT NULL;
  • 查询条件中使用表达式和函数

查询条件中使用字符串函数UPPER,将条件中的字符串变大写后再参与比较

SELECT ENAME,SAL,JOB FROM emp WHERE ENAME = UPPER('rose');

查询条件中使用算术表达式,查询年薪大于10万元的员工记录

SELECT ENAME ,SAL,JOB FROM emp WHERE SAL*12>100000;
  • 使用DISTINCT过滤重复

数据表中有可能存储相同数据的行,当执行查询操作时,默认情况会显示所有行,不管查询结果是否有重复的数据。当重复数据没有实际意义,经常会需要去掉重复值,使用DISTINCT实现。

  • 使用TOP关键字

示例:查询emp表中前5条记录
SELECT TOP 5 *FROM emp;

相关文章

  • 数据库基础03基本查询语句

    基本查询语句 from SQL查询语句的语法如下: 其中:SELECT用于指定要查询的列,FROM指定要从哪个表中...

  • MySQL 从零开始学(五)查询数据

    基本查询语句 MySQL 从数据库查询的基本语句为 SELECT,基本格式是: {* | <字段列表>} 星号是通...

  • MySQL~操作表查询

    一、使用基本的查询语句 1、查询语句基础 1.1、基本语法 1.2、使用"*"查询表中的全部内容 一般情况下,除非...

  • Oracle数据库学习整理(一)

    Oracle 基础知识 查询数据 本节将学习如何从Oracle数据库中查询数据。 ●Select语句-演示如何查询...

  • MySQL基础(一)—查询语句

    MySQL基础(一)——查询语句 1.导入示例数据库 2.SQL是说明?MySQL是说明? 3.查询语句 SELE...

  • 后端基础SQL—高级查询与子查询

    MySQL的基础查询语句 基本查询:SELECT * FROM 表; 字段查询:SELECT 字段1,字段2 FR...

  • 2018-12-11

    PHP连接Mysql和一些基本操作 建立数据库连接 查询语句 取出执行语句受影响行数

  • SQLite封装

    1. 创建 XSqliteTool 类,对 SQLite 基本操作进行封装 打开数据库 关闭数据库 执行语句 查询...

  • OCP课程基础总结一

    基本命令 基本的select查询语句 基本函数查询语句 条件查询语句 使用联接显示多个表中的数据 使用子查询来解决...

  • 常用sql 语句(SqlServer)

    1 数据库的基本操作(增 删 改 查)1.1增 1.2 删 1.3 修 1.4 查询语句查询语句主要包括三部分:s...

网友评论

      本文标题:数据库基础03基本查询语句

      本文链接:https://www.haomeiwen.com/subject/zqeeqqtx.html