--      Tips:查询基础

 --一、SELECT 语句基础

-- 1.查询指定列:SELECT 关键字

--语法:
--SELECT <列名>, ...     -- 希望查询列的名称
--FROM <表名>            -- 指定选取数据的表

-- 从 Conbio 中取 3 列
SELECT  Conbio_id,Conbio_name,Conbio_Varieties        -- 列的顺序可以任意指定,逗号(“,”)分隔,查询结果的顺序和 SELECT 子句中的顺序相同.
FROM Conbio;

 ------------------
 
 --2.查询表的所有列:星号(*)

--语法
--SELECT *        -- 星号(*)代表所有列
--FROM <表名>;

------------------

select *
from Conbio;

--【备注】使用星号(*)的话就无法设定列的显示顺序.

--------------------------------------

--3.为列设定别名:AS 关键字

SELECT Conbio_id AS Id, Conbio_name AS Name, Conbio_price1 Price1        -- 不用 AS 关键字也可以
FROM Conbio;    

 ------------------
 
SELECT Conbio_id AS "编号", Conbio_name AS '名称', Conbio_price1 '价格1'
FROM Conbio;    

-- 设定汉语别名:加上双引号(")或单引号(')

--------------------------------------

--4.常数的查询

SELECT '产品' AS Product,            -- '产品':字符串常数
    39 AS Price,                     -- 38:数字常数
    '2016-09-30' AS '生产日期'       -- '2016-09-30':日期常数

--【备注】字符串和日期使用单引号(')。

------------------

select * from            --查询表名为Conbio的表.
conbio;

--------------------------------------

-- 5.从结果中删除重复行:DISTINCT

--(1)
SELECT DISTINCT Conbio_Varieties FROM dbo.Conbio;        --移除重复

 ------------------
 
 --(2)DISTINCT 对 NULL 类型的处理:存在多条 NULL 值的行时,会结合为一条 NULL 数据。

SELECT DISTINCT conbio_price2 FROM dbo.conbio;

------------------

--(3)多列之前使用 DISTINCT

SELECT DISTINCT Conbio_price1, Conbio_date
FROM dbo.Conbio

--DISTINCT 会将多个列的数据进行组合,将重复的数据结合为一条。

--【注意】DISTINCT 关键字只能用在第一个列名之前。

 --------------------------------------
 
 --6.筛选记录:WHERE

-- WHERE 子句中可以指定“某一列的值和这个字符串相等”或者“某一列的值大于这个数字”等条件,找出只符合该条件的记录。

--语法:
--SELECT    <列名>, ...
--FROM      <表名>
--WHERE     <条件表达式>;

------------------
 
 select conbio_id,conbio_name,Conbio_Varieties
 from dbo.Conbio
 where Conbio_Varieties = '衣服';                --Conbio_Varieties='衣服';为条件表达式.
 
 --【备注】where 子句:首先通过该子句查询出符合指定条件的记录,再选取出select语句指定的列。
 --【注意】SQL 子句的书写格式是固定的,不能随意的更改。如where 子句必须紧跟在from子句后。
 
 --------------------------------------
 
 --7.注释的写法

--注释对于 SQL 的执行没有任何影响。

--  单行注释

/*
    多行注释
*/

--------------------------------------

--二、算术运算符和比较运算符

--  1.算术运算符

SELECT Conbio_name, Conbio_price1, Conbio_price2 * 2 AS 'Conbio_price1_x2'    --括号(“(”“)”)可以提高表达式的优先级。
FROM dbo.Conbio;

--------------------------------------

--2.需要注意 NULL

SELECT 5 + NULL, 10 - NULL, 1 * NULL, 4 / NULL, NULL / 9;

--【备注】所有包含 NULL 的计算,结果肯定为 NULL。

--------------------------------------

--3.比较运算符

--    比较运算符 运算符     含义
--    =     相等
--    <>     不等
--    >=     大于等于
--    >     大于
--    <=     小于等于
--    <     小于

--示例1:

SELECT Conbio_name, Conbio_Varieties
FROM dbo.Conbio
WHERE Conbio_price1 = 500;

------------------

--示例2
SELECT Conbio_name, Conbio_Varieties
FROM dbo.Conbio
WHERE Conbio_price1 <> 500;

------------------

--示例3
SELECT Conbio_name, Conbio_varieties
FROM dbo.Conbio
WHERE Conbio_Price1 != 500;

------------------

--示例4
select *
from dbo.Conbio
where Conbio_price1 - conbio_price2 >=500;

--------------------------------------

--3.对字符串使用不等号时的注意事项

--示例:选取出大于'2'的数据的 SELECT 语句

create Table Chars     --创建表名为chars的表
(
chr  varchar(20)     -- 设定列名为chr 类型varchar(20)
);
------------------

--插入值(自定义值)到表名为chars表中.

insert into chars values (1)
insert into chars values (10)
insert into Chars values (11)
insert into Chars values (2)
insert into Chars values (222)
insert into Chars values (3)

------------------

select * from Chars;            --查询名为chars的表

------------------

SELECT *
FROM dbo.Chars
WHERE chr > '2';

--【注意】chr 为字符串类型,对字符串类型的数据进行大小比较时,跟数字不一样。

--------------------------------------

--4.不能对 NULL 使用比较运算符

--示例1:
SELECT Conbio_name, Conbio_price2
FROM dbo.Conbio
WHERE Conbio_price2 = NULL;        --错误的 SELECT 语句

--【注意】希望选取 NULL 记录时,使用 IS NULL;希望选取,不是(不是)(不是) "NULL" 的记录时,使用 IS NOT NULL。

--示例2
SELECT Conbio_name, Conbio_price2
FROM dbo.Conbio
WHERE Conbio_price2 IS NULL;        --选取 NULL 的记录(无效的空值)

--示例3
SELECT Conbio_name, Conbio_price2
FROM dbo.Conbio
WHERE Conbio_price2 IS NOT NULL;    --选取不为 NULL 的记录(不为无效空值)

--------------------------------------

--三、逻辑运算符

--  1.NOT 运算符:取反

--示例:
SELECT *
FROM dbo.Conbio
WHERE NOT Conbio_price1 >= 1000;        --等价于 hanbai_tanka < 1000

--------------------------------------

--2.AND 运算符和 OR 运算符

--  AND 运算符:并且,在两侧的查询条件<都成立>时整个查询条件才成立。

--  OR 运算符:在两侧的查询条件就算<只有一个成立>时整个查询条件都成立。

--示例
SELECT Conbio_name, Conbio_price2
FROM dbo.Conbio
WHERE Conbio_Varieties = '厨房用具'
    AND Conbio_price1 >= 3000;

------------------

SELECT Conbio_name, Conbio_price2
FROM dbo.COnbio
WHERE Conbio_Varieties = '厨房用具'
    OR Conbio_price1 >= 3000;

--【备注】多个查询条件进行组合时,需要使用 AND 运算符或者 OR 运算符。

--------------------------------------

--2.通过括号进行强化

--示例1
SELECT Conbio_name,
    Conbio_Varieties,
    Conbio_date
FROM dbo.Conbio
WHERE Conbio_Varieties = '办公用品'
    AND Conbio_date = '2009-09-11'
    OR Conbio_date = '2009-09-20';

------------------

--示例2
SELECT Conbio_name,
    Conbio_Varieties,
    Conbio_date
FROM dbo.Conbio
WHERE Conbio_Varieties = '办公用品'
    AND (Conbio_date = '2009-09-11'
    OR Conbio_date = '2009-09-20');
    
  --【备注】AND 运算优先于 OR 运算,想要优先执行 OR 运算时可以使用括号。

--------------------------------------

--欢迎关注个人公众号:Zkcops

--2018/04/16  13:39 
 
由:zkcops 撰写(希望能对你有所帮助,转载注明出处!)
--------------------------------------

【SQL.基础构建-第二节(2/4)】的更多相关文章

  1. 【SQL.基础构建-第一节(1/4)】

    --        Tips:数据库与sql--    一.What's 数据库-- 1.数据库(Database,DB):将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合.--   ...

  2. 【SQL.基础构建-第四节(4/4)】

    --      Tips:数据更新 --一.插入数据 --1.INSERT 语句的基本语法 --语法:--INSERT INTO <表名>(列1, 列2, ...) VALUES (值1, ...

  3. Spark修炼之道(基础篇)——Linux大数据开发基础:第二节:Linux文件系统、文件夹(一)

    本节主要内容 怎样获取帮助文档 Linux文件系统简单介绍 文件夹操作 訪问权限 1. 怎样获取帮助文档 在实际工作过程其中,常常会忘记命令的使用方式.比如ls命令后面能够跟哪些參数,此时能够使用ma ...

  4. 【SQL.基础构建-第三节(3/4)】

    --      Tips:聚合和排序 --    一.对表进行聚合查询 -- 1.聚合函数 -- (1)5 个常用函数: -- ①COUNT:计算表中的记录(行)数. -- ②SUM:计算表中数值列的 ...

  5. 学习javascript基础知识系列第二节 - this用法

    通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...

  6. 第二节:Web前端-ASP.NET之C#基础

    第二节:Web前端-ASP.NET之C#基础 学习ASP.NET,要掌握学习语言,控件等技能, <div style="text-align: center; line-height: ...

  7. android内部培训视频_第二节 布局基础

    第二节:布局入门 一.线性布局 需要掌握的属性: 1.orientation:排列方式 vertical:垂直 Horizontal:水平 2.weight:水平布局的权重 3.gravity:子控件 ...

  8. CUDA:Supercomputing for the Masses (用于大量数据的超级计算)-第二节

    原文链接 第二节:第一个内核 Rob Farber 是西北太平洋国家实验室(Pacific Northwest National Laboratory)的高级科研人员.他在多个国家级的实验室进行大型并 ...

  9. SQL基础总结——20150730

           SQL SQL 指结构化查询语言 SQL 使我们有能力訪问数据库 SQL 是一种 ANSI(美国国家标准化组织) 的标准计算机语言 SQL 是一门 ANSI 的标准计算机语言.用来訪问和 ...

随机推荐

  1. 测试对bug如何分析和定位

    如何去区分一个功能测试工程师的水平高和低? 可以从很多个方面去检查,比如测试的思路, 比如测试用例的覆盖度?,比如测试出bug是否能够定位到根因? 上面说的各个方面都很合理,那我们平常如何如更深的定位 ...

  2. sqlite语句主页

    因为现在android手机用sqlite数据,但是sql语句很多和sqlserver不同..所以还是把官网记下以便开发:http://www.sqlite.org/lang.html

  3. Java面试总结(二)

    前几天去了几家公司面试,果然,基本全部倒在二面上,无语啊...不过幸好,到最后拿到了环球易购的offer,打算就这么好好呆着了,学习学习,努力努力,下面讲讲这几天的面试吧. 先是恒大,一个组长面试,答 ...

  4. [Scala] 安装及环境配置(图文)

    Window 上安装配置 1.Java(JDK)环境配置,详见 Java(JDK)环境 2.从 Scala 官网下载安装包:https://downloads.lightbend.com/scala/ ...

  5. RESTFul API设计指南及使用说明

    RESTFul API设计指南及使用说明 一. 协议 API与用户的通信协议,使用HTTP协议. 二. 域名 应尽量将API部署在专用域名之下(http://api.example.com) 也可以将 ...

  6. python自动发邮件

    from email.header import Header from email.mime.text import MIMEText from email.utils import parsead ...

  7. 使用Putty连接Amazon EC2 Instance

    Amazon的EC2中,默认是不允许使用用户名和密码直接连接Instance的,而是通过AWS (Amazon Web Service)提供的证书.在第一次使用EC2的时候,AWS会要求你创建一个证书 ...

  8. HTML5 canvas绘制雪花飘落

    Canvas是HTML5新增的组件,它就像一块幕布,可以用JavaScript在上面绘制各种图表.动画等. 没有Canvas的年代,绘图只能借助Flash插件实现,页面不得不用JavaScript和F ...

  9. MyBatis 中使用数据库查询别名进行映射

    方法1 XXMapper.xml <mapper namespace="com.hfepc.dao.andon.AndonExceptionKanbanVOMapper" & ...

  10. php析构方法

    析构方法说明: 1. 析构方法会自动调用 2. 析构方法主要用于销毁资源(比如释放数据库的链接,图片资源...销毁某个对象..); 析构函数会在到对象的所有的引用都被删除或者当对象被显示销毁时执行. ...