SQL基础二
一、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基础二的更多相关文章
- 数据库学习---SQL基础(二)
数据库学习---SQL基础(一) 数据库学习---SQL基础(二) 数据库学习---SQL基础(三) 上篇复习的sql的增删改查,and ,or ,>=, <=,!=等逻辑运算符,还有in ...
- 数据库学习---SQL基础(一)
数据库学习---SQL基础(一) 数据库学习---SQL基础(二) 数据库学习---SQL基础(三) SQL(struct query language)结构化查询语言:一种专门与数据库通信的语言, ...
- [SQL] SQL 基础知识梳理(二) - 查询基础
SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...
- 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 ...
- SQL基础--查询之二--连接查询
SQL基础--查询之二--连接查询
- SQL 基础笔记(二):进阶查询
本笔记整理自<SQL 基础教程>.<MySQL 必知必会>和网上资料.个人笔记不保证正确. 一.复杂查询 视图 将 SELECT 查询包装成一个虚拟表,该虚拟表就被称为视图.( ...
- (二十)sql基础
sql基础 --单表查询 select * from student; select * from score; --投影查询 select * from student; --条件查询 select ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...
随机推荐
- PHP学习笔记(2)字符串函数
注意: 1.双引号中可以解析变量 2.单引号中不会解析变量
- jqgrid删除多行数据,删不全的解决方案
功能实现: 删除选中的多条数据 bug: 总是删不干净,比如选中5条执行删除操作,后台全删掉了,可是前台仍然有剩余的几条,再次刷新会不见 错误代码: var ids = $("#grid-t ...
- The Definitive Guide To Django 2 学习笔记(五) 第四章 模板 (一)基本模板系统
引入模板系统的原因,view中引入硬编码并非明智的选择,设计上的任何改变都会需要改动代码.python代码和HTML代码应该分开,这是多数Web站点的共识,分开会提高效率. 基本模板系统 Django ...
- mysql information_schema 数据库简介:
.CHARACTER_SETS 表 CREATE TEMPORARY TABLE `CHARACTER_SETS` ( `CHARACTER_SET_NAME` varchar() NOT NULL ...
- lnmp集成开发环境安装pdo_dblib扩展
php连接mssql,获取的结果中文乱码,pdo_dblib扩展使用的是apt-get install php5-sybase方法安装的,尝试了修改freetds.conf php.ini 文件编码 ...
- idea传入HttpServletRequest时显示cannot resolve symbol的问题
在使用idea ide的时候,在控制器中我需要获取HttpServletRequest这个request对象,编译时出现cannot resolve symbol的问题,然后网上查找资料,这里记录一下 ...
- Tutorial : How to Create a Border Glow Effect in JavaFX
http://blog.idrsolutions.com/2014/02/tutorial-create-border-glow-effect-javafx/ ———————————————————— ...
- 安装python各类工具包、IDE以及著名开源模块如kaldi等的简单总结
在学习一门语言或者使用一个著名的开源工具时,搭建环境是非常重要的一步,在环境搭建的过程中往往要踩很多坑.昨天一不小心把电脑操作系统整坏了,搞了个通宵算是搞定了,把win10系统重装回win7,但之前搭 ...
- JavaWeb——过滤器
过滤器简介 WEB过滤器是一个服务器端的组件,它可以截取用户端的请求与相应信息,并对这些信息过滤. 过滤器的工作原理和生命周期 在没有Web过滤器的情况下,用户直接访问服务器上的Web资源.但是如果存 ...
- 【vijos】1790 拓扑编号(拓扑+贪心)
https://vijos.org/p/1790 好神的贪心题.. 一开始我也想到了贪心,但是是错的..sad 就是因为每一个节点的编号与逆图的子树有关,且编号一定是>=子树的儿子+1的.但是想 ...