一.select 语句
select [top子句] <列名1 as 别名1,列名2 as 别名2....>
From <表名>
[where<查询条件表达式>]
[order by <排序的列名>[asc或desc]
1.top 子句用来指定需要显示的行数,可直接跟数字,也可以指定比例。
select top 10 <列名> from <表名> --显示前行
select top 10 percent<列名> from <表名> --显示总行数的10%
2.用as为查询的列取别名,不改变原表中的列名,只在显示查询结果时显示别名。
3.如果缺省where子句,则表示查询所有记录,
4.查询所有列,可以在列名处使用“*” ,查询多列时,使用“,”分隔各列
5.如果不写asc和desc,则默认排序为按指定列名升序排列。
asc为升序,desc为降序。
二.简单查询
使用astore数据库
/******
查询所有的商品类别
*********/
select * from kind
select kindID, kindName,remark from kind
/***************************
使用列别名,表别名, 使用as
****************************/
select kindID as 类别编号, kindName as 类别名称,remark as 备注from kind as k
/*************************
使用列别名,表别名 省略as
*************************/
select kindID 类别编号, kindName 类别名称,remark 备注from kind k
/******
使用=重新命名
*********/
select 类别编号=k.kindID, 类别名称=k.kindName,备注=k.remark from kind k
/******
查询每种商品的销售额
select 中如果对列进行了计算,需要进行重新命名
*********/
select p.productName 商品名称,p.price*p.orders 销售额from product p
/******
查看每种商品的价格,按照价格进行降序排列
order by 排序的字段排序类型[asc/desc] asc升序desc降序默认为升序
*********/
select p.productName,p.price from product p order by p.price desc
/******
查询最贵的10种商品
先按照价格进行降序排列,然后取前10个
*********/
select top 10 p.productName,p.price from product p order by p.price desc
/******
查询50% 的商品的价格,按照价格高低排序
*********/
select top 50 percent p.productName,p.price from product p order by p.price desc
三.where条件查询
1.单条件查询
2.多条件查询
/***********************************
查询正在销售的,库存少于10的商品,并按照价格高低显示
order by 应该位于where条件后面,意味着先选出符合要求的行,然后再进行排序
************************************/
select productName,price
from product
where stop=0 and instore<10
order by price desc
/***********************************
查询正在销售的,库存少于10的商品,并按照销售额排序
***********************************/
select productName,price,price*orders 销售额
from product
where stop=0 and instore<10
order by 销售额desc
或者
select productName,price,price*orders 销售额
from