概述
Mysql进阶
1 多表查询
(1) 内连接查询
隐式内连接查询
SELECT product.id,product.productName,productdir.dirName FROM product,productdir WHERE product.dir_id=productdir.id
显示内连接查询
SELECT p1.id,p1.productName,p2.dirName FROM product p1 INNER JOIN productdir p2 ON p1.dir_id=p2.id
SELECT p1.id,p1.productName,p2.dirName FROM product p1 JOIN productdir p2 ON p1.dir_id=p2.id
(2) 外连接查询
SELECT * FROM product LEFT JOIN productdir ON product.dir_id=productdir.id
SELECT * FROM product RIGHT JOIN productdir ON product.dir_id=productdir.id
(3) 自连接查询
SELECT
c1.id '序号',c1.cityname '国家',c2.cityname '省份'
FROM
city
c1 INNER JOIN
city
c2
ON
c1.id=c2.parentid
WHERE
c1.id=1
SELECT c1.id '序号',c1.cityname '国家',c2.cityname '省份',c3.cityname '市区',c4.cityname '县区'
FROM city
c1
INNER JOIN
city c2
INNER JOIN
city
c3 INNER JOIN city c4 ON c1.id=c2.parentid AND c2.id=c3.parentid AND c3.id=c4.parentid
(4) 子查询
SELECT * FROM product WHERE salePrice>(SELECT salePrice FROM product WHERE productName='罗技MX1100')
SELECT * FROM product WHERE (dir_id,cutoff)=(SELECT dir_id,cutoff FROM product WHERE productName='罗技M100')
2 数据操作
(1) 插入数据
INSERT INTO dept (id,dname) VALUES (4,’人事部’)
INSERT INTO dept VALUES (5,’后勤部’)
INSERT INTO dept (id,dname) VALUES (6,’营销部’),(7,’财务部’)
(2) 修改数据
UPDATE product SET salePrice =salePrice*1.2 WHERE salePrice > 300
UPDATE product SET salePrice=salePrice*1.1 WHERE salePrice > 300
AND id=3
(3) 删除数据
DELETE FROM dept WHERE dname=’财务部’
3 函数
(1) castt函数
语法:
cast(值 as 类型)
cast(‘123’ as SIGNED) 将123转换为int类型,返回值为整型类型
select cast(salePrice as decimal)---->数据类型
----Java中的数据类型
(1) decimal类型----Java BigDecimal
SELECT
cast('123.4456' as DECIMAL(P,D))
P 表示有效数字的位数,D表示保留多少位小数
SELECT cast('123.4456' as DECIMAL(7,2))
(2) convert()函数
对于简单类型转换,CONVERT()函数和CAST()函数的功能相同,只是语法不同。CAST函数一般更容易使用,其功能也更简单。
语法:
select convert(expr ,type)
select convert(‘123’,signed)
SELECT CONVERT(‘123.4456’,DECIMAL(7,2))
(3) IFNULL函数
IFNULL(expression_1,expression_2);
如果expression_1不为NULL,IFNULL函数返回expression_1; 否则返回expression_2的结果。
最后
以上就是平常太阳为你收集整理的Mysql进阶Mysql进阶的全部内容,希望文章能够帮你解决Mysql进阶Mysql进阶所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复