MYSQL基础02(查询)_MySQL
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MYSQL基础02(查询)_MySQL,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1281字,纯文字阅读大概需要2分钟。
内容图文
![MYSQL基础02(查询)_MySQL](/upload/InfoBanner/zyjiaocheng/581/948d7f314fd34177b2bd255ab96240c0.jpg)
1.DUAL
DUAL是一个虚拟表,即该表是不存在的,用于直接select 标量时,使语句看起来符合sql规范
-- MSSQL select 1,'A' -- Oracle中dual 不可缺少 select 1,'A' from DUAL -- mysql 以下2种格式都支持 select 1,'A'; select 1,'A' from DUAL;
2.LIMIT
相对MSSQL来说,MYSQL并没有TOP关键字,但有LIMIT,而且效率更高且更灵活
SELECT * FROM usr LIMIT 1; -- LIMIT 1 的意思是取1条记录, MYSQL在取完1条记录后将不再操作. SELECT * FROM usr LIMIT 0,2; -- LIMIT 0,2的意思是从第一行(包括第一行)开始,取2条记录 SELECT * FROM usr WHERE u_id IN (SELECT u_id FROM usr WHERE dept='信息部' LIMIT 1); -- 该语句执行时,MYSQL会报错,意思是不能在子查询中使用limit -- 解决办法,将使用limit的语句再套一层表即可;如下: SELECT * FROM usr WHERE u_id IN (SELECT * FROM (SELECT u_id FROM usr WHERE dept='信息部' LIMIT 1)aa) PS:MSSQL中使用TOP,数据库会先排序,然后再返回数据,因此limit的效率比较高
3.子查询的update错误
UPDATE usr SET usr_name='匿名' WHERE u_id IN (SELECT u_id FROM usr WHERE dept='信息部') -- 语句报错,大概意思是修改表不能使用自身 -- 解决方法,跟上面一样,再套一层表即可 UPDATE usr SET usr_name='匿名' WHERE u_id IN (SELECT * FROM (SELECT u_id FROM usr WHERE dept='信息部')aa)
内容总结
以上是互联网集市为您收集整理的MYSQL基础02(查询)_MySQL全部内容,希望文章能够帮你解决MYSQL基础02(查询)_MySQL所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。