一、SQL SELECT 语句

SELECT 语句用于从表中选取数据。结果被存储在一个结果表中(称为结果集)。

  • SQL SELECT 语法:
SELECT 列名称 FROM 表名称

以及:

SELECT * FROM 表名称

注释:SQL 语句对大小写不敏感。SELECT 等效于 select。

  • SQL SELECT 实例

Persons表:

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing

如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表),请使用类似这样的 SELECT 语句:

SELECT LastName, FirstName FROM Persons

查询结果为:

LastName FirstName
Adams John
Bush George
Carter Thomas
  • SQL SELECT * 实例

现在我们希望从 "Persons" 表中选取所有的列。请使用符号 * 取代列的名称,就像这样:

SELECT * FROM Persons

提示:星号(*)是选取所有列的快捷方式。

查询结果为:

Id LastName FirstName Address City
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing

二、SQL SELECT DISTINCT 语句

在表中,可能会包含重复值,这并不成问题,不过,有时您也许希望仅仅列出不同的值。这种情况可以采用DISTINCT,用于返回唯一不同的值。

  • SELECT DISTINCT 语法:
SELECT DISTINCT 列名称 FROM 表名称
  • SELECT DISTINCT 实例:

“Studens”表

Name Age

Tom

13
Jack 12
Alan 13
Tom 14

在表中,Tom的数据包含两个,如果使用SELECT语句:

SELECT Name FROM Students

那么将查询到两个Tom的信息,如下:

Name

Tom

Jack
Alan
Tom

注意,上面的结果中,Tom出现了两次,那么,如果我们想去掉那个重复的Tom,就需要使用SELECT DISTINCT语句了:

SELECT DISTINCT Name FROM Students

查询结果为:

Name

Tom

Jack
Alan

三、SQL WHERE 子句

WHERE子句用于规定数据选取的标准,可以和SELECT结合使用:

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

下面的运算符可在WHERE子句中使用:

操作符 描述
= 等于
<>或者!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式
  • WHERE子句实例

如果只希望选取居住在城市 "Beijing" 中的人,我们需要向 SELECT 语句添加 WHERE 子句:

SELECT * FROM Persons WHERE City='Beijing'

“Persons”表:

LastName FirstName Address City Year
Adams John Oxford Street London 1970
Bush George Fifth Avenue New York 1975
Carter Thomas Changan Street Beijing 1980
Gates Bill Xuanwumen 10 Beijing 1985

查询结果为:

LastName FirstName Address City Year
Carter Thomas Changan Street Beijing 1980
Gates Bill Xuanwumen 10 Beijing 1985

**注意:引号的使用问题,SQL使用单引号来环绕文本值(大部分数据库系统也接受双引号),如果是数值,请不要使用引号。

四、SQL AND & OR 运算符

AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

“Persons”表

LastName FirstName Address City
Adams John Oxford Street London
Bush George Fifth Avenue New York
Carter Thomas Changan Street Beijing
Carter William Xuanwumen 10 Beijing
  • AND运算符实例

使用AND来显示所有姓为 "Carter" 并且名为 "Thomas" 的人:

SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'

查询结果:

LastName FirstName Address City
Carter Thomas Changan Street Beijing
  • OR运算符实例

使用OR来显示所有姓为 "Carter" 或者名为 "Thomas" 的人:

SELECT * FROM Persons WHERE FirstName='Thomas' OR LastName='Carter'

查询结果:

LastName FirstName Address City
Carter Thomas Changan Street Beijing
Carter William Xuanwumen 10 Beijing
  • AND与OR结合的实例
SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')
AND LastName='Carter'

查询结果为:

LastName FirstName Address City
Carter Thomas Changan Street Beijing
Carter William Xuanwumen 10 Beijing

SQL基础二的更多相关文章

  1. 数据库学习---SQL基础(二)

    数据库学习---SQL基础(一) 数据库学习---SQL基础(二) 数据库学习---SQL基础(三) 上篇复习的sql的增删改查,and ,or ,>=, <=,!=等逻辑运算符,还有in ...

  2. 数据库学习---SQL基础(一)

     数据库学习---SQL基础(一) 数据库学习---SQL基础(二) 数据库学习---SQL基础(三) SQL(struct query language)结构化查询语言:一种专门与数据库通信的语言, ...

  3. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  4. ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段

    ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...

  5. SQL基础--查询之二--连接查询

    SQL基础--查询之二--连接查询

  6. SQL 基础笔记(二):进阶查询

    本笔记整理自<SQL 基础教程>.<MySQL 必知必会>和网上资料.个人笔记不保证正确. 一.复杂查询 视图 将 SELECT 查询包装成一个虚拟表,该虚拟表就被称为视图.( ...

  7. (二十)sql基础

    sql基础 --单表查询 select * from student; select * from score; --投影查询 select * from student; --条件查询 select ...

  8. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  9. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

随机推荐

  1. PHP学习笔记(2)字符串函数

    注意: 1.双引号中可以解析变量 2.单引号中不会解析变量

  2. jqgrid删除多行数据,删不全的解决方案

    功能实现: 删除选中的多条数据 bug: 总是删不干净,比如选中5条执行删除操作,后台全删掉了,可是前台仍然有剩余的几条,再次刷新会不见 错误代码: var ids = $("#grid-t ...

  3. The Definitive Guide To Django 2 学习笔记(五) 第四章 模板 (一)基本模板系统

    引入模板系统的原因,view中引入硬编码并非明智的选择,设计上的任何改变都会需要改动代码.python代码和HTML代码应该分开,这是多数Web站点的共识,分开会提高效率. 基本模板系统 Django ...

  4. mysql information_schema 数据库简介:

    .CHARACTER_SETS 表 CREATE TEMPORARY TABLE `CHARACTER_SETS` ( `CHARACTER_SET_NAME` varchar() NOT NULL ...

  5. lnmp集成开发环境安装pdo_dblib扩展

    php连接mssql,获取的结果中文乱码,pdo_dblib扩展使用的是apt-get install php5-sybase方法安装的,尝试了修改freetds.conf php.ini 文件编码 ...

  6. idea传入HttpServletRequest时显示cannot resolve symbol的问题

    在使用idea ide的时候,在控制器中我需要获取HttpServletRequest这个request对象,编译时出现cannot resolve symbol的问题,然后网上查找资料,这里记录一下 ...

  7. Tutorial : How to Create a Border Glow Effect in JavaFX

    http://blog.idrsolutions.com/2014/02/tutorial-create-border-glow-effect-javafx/ ———————————————————— ...

  8. 安装python各类工具包、IDE以及著名开源模块如kaldi等的简单总结

    在学习一门语言或者使用一个著名的开源工具时,搭建环境是非常重要的一步,在环境搭建的过程中往往要踩很多坑.昨天一不小心把电脑操作系统整坏了,搞了个通宵算是搞定了,把win10系统重装回win7,但之前搭 ...

  9. JavaWeb——过滤器

    过滤器简介 WEB过滤器是一个服务器端的组件,它可以截取用户端的请求与相应信息,并对这些信息过滤. 过滤器的工作原理和生命周期 在没有Web过滤器的情况下,用户直接访问服务器上的Web资源.但是如果存 ...

  10. 【vijos】1790 拓扑编号(拓扑+贪心)

    https://vijos.org/p/1790 好神的贪心题.. 一开始我也想到了贪心,但是是错的..sad 就是因为每一个节点的编号与逆图的子树有关,且编号一定是>=子树的儿子+1的.但是想 ...