随着我们数据库越来越复杂 我们要掌握的姿势也要也来越多....

首先建立个表

create table shop
(
code int primary key identity (1,1),
name varchar(50) not null,
price int not null,
brand varchar(50) not null,
BB int not null,
[from] varchar (50) not null
)
insert into shop values('冰红茶',3,'康师傅','12','福建');
insert into shop values('冰红茶',4,'娃哈哈','12','北京');
insert into shop values('冰绿茶',3,'康师傅','12','福建');
insert into shop values('冰绿茶',3,'统一','24','山东');
insert into shop values('方便面',2,'康师傅','24','江苏');
insert into shop values('方便面',3,'福满多','12','上海');
insert into shop values('方便面',2,'康师傅','24','福建');

drop table shop
--注:SQL不像VS一样,SQL要选中内容才可以让计算机接收

下面信息,分割线划分的是不同的内容,所以对于内表有冲突,执行完一个分割线内的内容请执行

--drop table shop,然后选中表重新执行,再去完成查询。

--我们建立了一个商品的数据库shop,BB=best before,from=产地,因为from牵扯到系统关键词我们用[]区分。
-------------------------------------我是华丽的分割线--------------------------------------------
--我们要查看shop表的前3个:
select top 3 * from shop;
--查看前两个方便面信息:
select top 2 * from shop where name='方便面';
-------------------------------------我是华丽的分割线--------------------------------------------
--这里有好多价钱是重复的,我们想看分别都是有多少钱的货
select distinct price from shop;
--查看保质期都有多久的
select distinct bb from shop;
-------------------------------------我是华丽的分割线----------------------------------------------
--有些时候我们需要把数据排列,请用 order by 或 order by desc
--请按价格由低到高排列
select * from shop order by price asc;   --asc是默认的 可以不写.
--如果价格想由高到低排列
select * from shop order by price desc   ---desc不可以省略.
--但是我们发现虽然按照顺序排列了,但是价格相同的有好多,辣么我们想让3块钱的商品按照保质期长短排列
select *from shop order by price,BB; --这里面也是有顺序的,先排列 price然后再BB,BB按照升序在不影
响price的情况下排列。
-------------------------------------我是华丽的分割线--------------------------------------------
--分组 group by;分组在以后的时候会用的,目前先知道有这么个东西,目前的作用同distinct.
--例如用age分组
select price from shop group by price;
--这里要讲的就是我们用了什么组了,前面和后面必须一致,语意,在shop表里分组price然后显示price,如果
我们说select price from shop group by BB,那么我们分组了BB然后查询price,毫无意义。
-------------------------------------我是华丽的分割线--------------------------------------------
----运算符   
 --算数运算符: + - * / %
 --比较运算符: > < >= <= !=  <> !< !>
 --逻辑运算符: || &&
 --修饰符:     all any some in not
--这里讲一下 in, in 表示在什么范围之内
--查询价格是 2和4的商品
select * from shop where price in (2,4); --这里相当于 price=2 or price=4;
--子查询
--查询康师傅品牌不是福满多品牌价钱的东东;
select * from shop where price not in(select price from shop where brand='福满多');
--理解,这句话有些绕,意思是我们要查询出福满多商品的价格,然后在比对康师傅商品的东西,如果康师傅
--的商品与福满多商品一致那么不输出,其余的输出。 首先我们先得出福满多商品的价格
--(select price from shop where brand='福满多')括号里实际上是另外的计算,结果就是3。这样的好处是
--如果商品成千上万我们不可能一一输入,所以计算机需要代码来代替我们输入,这是一个很省力的方法,关
--键是思想。
--------------------------主人吃饭去了留下一条华丽的分割线----------------------------------------

SQL初级第二课的更多相关文章

  1. Kali Linux Web 渗透测试视频教程— 第二课 google hack 实战

    Kali Linux Web 渗透测试— 第二课 代理简介 文/玄魂 课程地址: http://edu.51cto.com/course/course_id-1887.html 目录 shellKal ...

  2. CI(CodeIgniter)框架入门教程——第二课 初始MVC

    本文转载自:http://www.softeng.cn/?p=53 今天的主要内容是,使用CodeIgniter框架完整的MVC内容来做一个简单的计算器,通过这个计算器,让大家能够体会到我在第一节课中 ...

  3. OpenCV 第二课 认识图像的存储结构

    OpenCV 第二课 认识图像的存储结构 Mat Mat 类包含两部分,矩阵头和矩阵体.矩阵头包含矩阵的大小,存储方式和矩阵体存储空间的指针.因此,Mat中矩阵头的大小是固定的,矩阵体大小是不定的. ...

  4. 【第二课】深入理解Handler

    简要讲解Handler是做什么的 我们知道,在Android中,app启动会启动一个进程一个线程——UI线程,UI线程是主线程,并且不允许这个线程阻塞超过5秒,一旦超过5秒就会ANR. 所以较为耗时的 ...

  5. ruby代码重构第二课

    (文章都是从我的个人主页上粘贴过来的, 大家也可以访问我的主页 www.iwangzheng.com) 在第一课里提取出了相通的代码,第二课里就把常量提取出来吧 一般把常量的定义写的对应的app/mo ...

  6. NeHe OpenGL教程 第二课:多边形

    前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢 ...

  7. Spark 3000门徒第二课scala面向对象总结

    昨晚听了王家林老师3000门徒spark系列课程的第二课,讲述了scala面向对象知识,并且带着过了一遍Spark核心类:SparkContent,RDD的代码,下面写一下心得: RDD是抽象类,实现 ...

  8. grails2.3.11第二课

    第二课主要介绍grails相关插件的使用,这是敏捷开发所必需的途径. 可以把grails的插件看作是grails正常项目的迷你型,因为看插件的源码,它的目录结构和正常项目相差无几. 官方开源插件地址 ...

  9. 过拟合/欠拟合&logistic回归等总结(Ng第二课)

    昨天学习完了Ng的第二课,总结如下: 过拟合:欠拟合: 参数学习算法:非参数学习算法 局部加权回归 KD tree 最小二乘 中心极限定律 感知器算法 sigmod函数 梯度下降/梯度上升 二元分类 ...

随机推荐

  1. Spring Data JPA初使用(转载)

    我们都知道Spring是一个非常优秀的JavaEE整合框架,它尽可能的减少我们开发的工作量和难度. 在持久层的业务逻辑方面,Spring开源组织又给我们带来了同样优秀的Spring Data JPA. ...

  2. Linux系统安装时分区的选择(推荐)

    Linux系统安装时分区的选择(推荐)  出处:http://www.cnblogs.com/gylei/archive/2011/12/04/2275987.html 前言: 以前初识Linux时, ...

  3. Eval绑定日期时,修改日期显示的格式

    我们使用DataList绑定数据的时候,需要将日期的格式做一个修改,比如绑定出来的日期格式是:“2015/8/12 0:0:0”,我们需要修改为“2015-8-12”,代码如下: <%#Eval ...

  4. [Android Pro] Android 4.3 NotificationListenerService使用详解

    reference to : http://blog.csdn.net/yihongyuelan/article/details/40977323 概况 Android在4.3的版本中(即API 18 ...

  5. 最简单的Web服务器

    //读取浏览器发过来的内容Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, Protoco ...

  6. 字符匹配算法之Boyer-Moore算法

    Boyer-Moore算法的精华是从后向前,取好后缀与坏后缀中的最大移动位移动搜索词,以达到最快速检索的效果. 详情参考:http://www.ruanyifeng.com/blog/2013/05/ ...

  7. cocospod 安装和使用 podfile 问题解决

    Podfile 不识别 usr_framework!,系本地Pods版本太低,要在0.36以上. 以下转自:http://blog.csdn.net/eqera/article/details/393 ...

  8. Java实现颜色渐变效果

    RGB色彩,在自然界中肉眼所能看到的任何色彩都可以由红(R).绿(G).蓝(B)这三种色彩混合叠加而成,因此我们只要递增递减的修改其特定值就能得到相应的渐变效果. 运行效果:(图1) 运行5秒后:(图 ...

  9. Android -- startActivityForResult-------&&&----setResult

    startActivityForResult与startActivity的不同之处 startActivity( ) 仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivit ...

  10. CLR via C#(07)-静态类,分部类

    一.      静态类-Static 静态类是一些不能实例化的类,它的作用是将一些相关的成员组合到一起,像我们常见的Math, Console等.静态类由static关键字标识,静态类成员也只能是st ...