SQL初级第二课
随着我们数据库越来越复杂 我们要掌握的姿势也要也来越多....
首先建立个表
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初级第二课的更多相关文章
- Kali Linux Web 渗透测试视频教程— 第二课 google hack 实战
Kali Linux Web 渗透测试— 第二课 代理简介 文/玄魂 课程地址: http://edu.51cto.com/course/course_id-1887.html 目录 shellKal ...
- CI(CodeIgniter)框架入门教程——第二课 初始MVC
本文转载自:http://www.softeng.cn/?p=53 今天的主要内容是,使用CodeIgniter框架完整的MVC内容来做一个简单的计算器,通过这个计算器,让大家能够体会到我在第一节课中 ...
- OpenCV 第二课 认识图像的存储结构
OpenCV 第二课 认识图像的存储结构 Mat Mat 类包含两部分,矩阵头和矩阵体.矩阵头包含矩阵的大小,存储方式和矩阵体存储空间的指针.因此,Mat中矩阵头的大小是固定的,矩阵体大小是不定的. ...
- 【第二课】深入理解Handler
简要讲解Handler是做什么的 我们知道,在Android中,app启动会启动一个进程一个线程——UI线程,UI线程是主线程,并且不允许这个线程阻塞超过5秒,一旦超过5秒就会ANR. 所以较为耗时的 ...
- ruby代码重构第二课
(文章都是从我的个人主页上粘贴过来的, 大家也可以访问我的主页 www.iwangzheng.com) 在第一课里提取出了相通的代码,第二课里就把常量提取出来吧 一般把常量的定义写的对应的app/mo ...
- NeHe OpenGL教程 第二课:多边形
前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢 ...
- Spark 3000门徒第二课scala面向对象总结
昨晚听了王家林老师3000门徒spark系列课程的第二课,讲述了scala面向对象知识,并且带着过了一遍Spark核心类:SparkContent,RDD的代码,下面写一下心得: RDD是抽象类,实现 ...
- grails2.3.11第二课
第二课主要介绍grails相关插件的使用,这是敏捷开发所必需的途径. 可以把grails的插件看作是grails正常项目的迷你型,因为看插件的源码,它的目录结构和正常项目相差无几. 官方开源插件地址 ...
- 过拟合/欠拟合&logistic回归等总结(Ng第二课)
昨天学习完了Ng的第二课,总结如下: 过拟合:欠拟合: 参数学习算法:非参数学习算法 局部加权回归 KD tree 最小二乘 中心极限定律 感知器算法 sigmod函数 梯度下降/梯度上升 二元分类 ...
随机推荐
- 【leetcode】Flatten Binary Tree to Linked List (middle)
Given a binary tree, flatten it to a linked list in-place. For example,Given 1 / \ 2 5 / \ \ 3 4 6 T ...
- 真机测试无缘无故finish了。程序也没有启动
去钥匙串里边把多余的证书删除, 然后reset xcode - preference - 选中你的appleID - iOS Development - reset
- Delphi 2010 Can't load package C:\Programme\Afalinasoft\Add-in Express 2\d5units\adxwizardd5.bpl.
"Can't load package C:\Programme\Afalinasoft\Add-in Express 2\d5units\adxwizardd5.bpl. Componen ...
- 两个viewport的故事(第一部分)
原文:http://www.quirksmode.org/mobile/viewports.html 在这个迷你系列的文章里边我将会解释viewport,以及许多重要元素的宽度是如何工作的,比如< ...
- max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
在/etc/syscurity/limits.conf 加入以下两行: elastic hard nofile 65536 elastic soft nofile 65536 #备注:elastic ...
- find 查找文件 -exec 然后压缩 查看tar包的内容
[root@cs Downloads]# find ./ -name "banner*" -exec tar -cvf k.tar "{}" \; ./bann ...
- Memcached驱动(C#)
using Memcached.ClientLibrary; using System; using System.Collections.Generic; using System.IO; usin ...
- ***PHP中error_reporting()用法详解(含codeigniter框架中屏蔽错误提示的解决方案)
php中我们对错误的处理会常用到error_reporting函数了,大家可以看到最多的是error_reporting(E_ALL ^ E_NOTICE)了,这个到底什么意思呢,下面我来来看看. e ...
- App 开发:Hybrid 架构下的 HTML5 应用加速方案
在移动 App 开发领域,主流的开发模式可分为 Native.Hybrid.WebApp 三种方式.然而 2013 年,纯 WebApp 开发模式的发展受到一定挫折,以 Facebook 为代表的独立 ...
- WCF分布式开发必备知识(1):MSMQ消息队列
本章我们来了解下MSMQ的基本概念和开发过程.MSMQ全称MicroSoft Message Queue,微软消息队列,是在多个不同应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一 ...