My sql 笔记(每天更新一点点)

1、use
使用一个表,直接用use加表。名。
Use大小写都可以,但是为了区分最好全部大写,其他使用小写。
黄色的闪电  这个标志是执行的意思。(ctrl+shift+enter)
执行use语句之后左侧选中的表名会变黑。
在my sql workbench中可以通过双击来选中库和use是一样的道理。
2、 Select.
from表名
每一条语句后要加分号,否则可能会有提示。
where条件
order by
有时 想暂时去掉某一条件,可以在该语句之前。用两个破折号加一个空格,这样sql会把这行作为注释不理会他

选择属性时,比如原先表格中有年龄一列。在输出时我想加一列---年龄+1,可以直接 select后面加age+1 如果我想给age+1,取一个新列名虚岁,可以在后面写as 虚岁  ,如果虚岁两个字之间有空格,我就必须给虚岁两个字打上引号,单引号或双引号都可以。一般单引号即可。
3、搜索空值
想搜索某一列的某值为空的
select* from 表名 where列名 is null
4、排序
desc倒序
5、限制返回的数据数量(limit),这个语句在整个语句的最后
select*from 表名 order by 属性(列名)limit 1(可更改)
如果想获得第7到第9条数据
limit  6,3
6代表跳过的数据数量,3代表想获得的数据数量
6、连接
连接有两种形式内连接和外连接。
   想把两个在同一个数据库的表连接在一起时。(join 另一个表名  on连接条件)
  eg select*from 第一个表名 join 另一个表名 on 条件(如  Orders.customer ID=customers.customer ID)
想把两个在不同数据库的表连接在一起。
就在连接时表明前面加上所在数据库
7、自连接
8、当某一个表有两个候选码时
  ON一个条件AND 另一个条件
9、隐式连接
就是把join语句换成where语句而已。
eg
select *from  Orders o
join  Customers c
on  O.customer ID=C.customer ID。
换成
Select* From orders o ,customers c
Where O.customer ID=C.customer ID
显式连接语法会强制输入联合条件,隐式则无,有可能忘记输入,可能会得到很多结果,所以老师建议使用显式
10、外连接(分为左连接和右连接)
show  all values and leave null if not matched
当使用外连接时,无论是否满足条件都会返回表。
语法的话直接在join的前面加上left或 right.
实际上,更全面的语法是Left /right outer join.但是 outer和inner一样可以省略。
注:(个人理解)实际上外连接outer join是补充集合,内连接inner join是求交集。
在实际应用中应该避免使用右连接,尽量使用左连接。
11、自外连接
SELECT * FROM employees e
LEFT JOIN employees m
ON e.reports_to = m.employee_id
12、USING 语句
在自连接的条件中,如果条件中的列名相同
可以把ON语句替换成USING 语句

select o.order id,c.first name
from orders o
join customers c
on o.customer id=c.customer id
on这一子句可以替换成
using (customer id)
括号不能省略

要连接的表有两个候选码时,括号中用逗号隔开就可以
13、自连接
就是去掉where语句,类似于让数据库引擎去猜测连接条件
一般不建议使用,容易出错
eg
select *from orders
natural join  customers
14、交叉连接(cross join)
eg
select *from orders
cross  join  customers
交叉连接的cross join可以直接省略,建议不省略,更加清晰



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值