sql中的关键字以及相关的一些操作(1)

SQL:
select
select * from 表名;


order by
用于根据指令的列对结果集进行排序,默认是升序,DESC是降序的关键字;


insert

insert into表 values (值1,值2,值3,...);
insert into表(列1,列2,列3,...) values (值1,值2,值3,...);

update

update 表 set 列名=新值where列名=旧值;

top

select top 5 *from table /select top 50 percent * from table(此用法mysql和oracle一样)
mysql:select * from table limit 5;
oracle:select * from table where rownum<=5;

like:搭配通配符:

select * from table where column like 'L%'//L开头的
select * from table where column not like '%Lon%'//不包含Lon的

通配符:
%:替代一个或多个字符;
_替代一个字符;
[charlist]:charlist 中任意单一字符: select * from table where column like '%[lon]%'//包含lon三个中任意一个的
[^/!charlist]:与上面的相反;


in 
允许在where子句中定义多个值:

select * from table where column in (vlaue1,value2,...);

between..and..
可以是数值,文本,日期...;


Alias 实例: 使用表名称别名
假设我们有两个表分别是:"Persons" 和 "Product_Orders"。我们分别为它们指定别名 "p" 和 "po"。
现在,我们希望列出 "John Adams" 的所有定单。
我们可以使用下面的 SELECT 语句:\

SELECT po.OrderID, p.LastName, p.FirstName
FROM Persons AS p, Product_Orders AS po
WHERE p.LastName='Adams' AND p.FirstName='John'

不使用别名的 SELECT 语句:

SELECT Product_Orders.OrderID, Persons.LastName, Persons.FirstName
FROM Persons, Product_Orders
WHERE Persons.LastName='Adams' AND Persons.FirstName='John'

as还可以用于查询结果:

SELECT LastName AS Family, FirstName AS Name FROM Persons

结果:

having
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
SQL HAVING 语法

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value

SELECT Customer,SUM(OrderPrice) FROM Orders
GROUP BY Customer
HAVING SUM(OrderPrice)<2000

现在我们希望查找客户 "Bush" 或 "Adams" 拥有超过 1500 的订单总金额。
我们在 SQL 语句中增加了一个普通的 WHERE 子句:
SELECT Customer,SUM(OrderPrice) FROM Orders
WHERE Customer='Bush' OR Customer='Adams'
GROUP BY Customer
HAVING SUM(OrderPrice)>1500


case

select sum(case when 条件 then 要查询的内容 else 要查询的另一个内容 end)as 内容 from 表 where 附加条件;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值