1>select A.a,B.b
from (select now() as a) A,
from (select now() as b) B
在Oracle中这种格式是可以的 不清楚MySql是怎样规定的
相关文档也查询了 也看到MySql类似用法 为什么我写的这个包“有语法错误”?
2>另外 我现在刚刚用MySql 现用的客户端是Shark Db 各位有什么好用的客户端推荐一下
3>还有 那位也是刚刚学MySql 有什么好的文档链接给个十分感谢
from (select now() as a) A,
from (select now() as b) B
在Oracle中这种格式是可以的 不清楚MySql是怎样规定的
相关文档也查询了 也看到MySql类似用法 为什么我写的这个包“有语法错误”?
2>另外 我现在刚刚用MySql 现用的客户端是Shark Db 各位有什么好用的客户端推荐一下
3>还有 那位也是刚刚学MySql 有什么好的文档链接给个十分感谢
SELECT A.a,B.b
FROM (SELECT NOW() AS a) A,(SELECT NOW() AS b) B2
一般用MYSQL命令行,图形化管理工具SQLYOG
3
MYSQL自己的HELP
from (select now() as a) A,
from (select now() as b) B 在SQL2005中也不能通过
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT NOW() AS a) A,
(SELECT NOW() AS b) B' at line 2
from (select now() as a) A,
from (select now() as b) B
在Oracle中这种格式是可以的 不清楚MySql是怎样规定的
相关文档也查询了 也看到MySql类似用法 为什么我写的这个包“有语法错误”?select A.a,B.b from (select now() as a)A,(select now() as b)B
2>另外 我现在刚刚用MySql 现用的客户端是Shark Db 各位有什么好用的客户端推荐一下navicat or 用命令行
3>还有 那位也是刚刚学MySql 有什么好的文档链接给个
如果已经会写sql 推荐‘MySQL性能调优与架构设计’写的很有条理
mysql> SELECT A.a,B.b
-> FROM (SELECT NOW() AS a) A,(SELECT NOW() AS b) B;
+---------------------+---------------------+
| a | b |
+---------------------+---------------------+
| 2011-12-20 16:52:09 | 2011-12-20 16:52:09 |
+---------------------+---------------------+
1 row in set (0.00 sec)mysql>or
mysql> SELECT A.a,B.b
-> FROM (SELECT NOW() AS a FROM DUAL ) A,(SELECT NOW() AS b FROM DUAL)
B;
+---------------------+---------------------+
| a | b |
+---------------------+---------------------+
| 2011-12-20 16:53:41 | 2011-12-20 16:53:41 |
+---------------------+---------------------+
1 row in set (0.00 sec)mysql>
SELECT A.a,B.b
FROM (SELECT NOW() AS a) A,(SELECT NOW() AS b) B
学习的话,还是建议直接用MYSQL命令行工具。
图形界面可以使用
一、MySQL Workbench
MySQL Workbench是一个由MySQL开发的跨平台、可视化数据库工具。它作为DBDesigner4工程的替代应用程序而备受瞩目。MySQL Workbench可以作为windows、linux和OS X系统上的原始GUI工具,它有各种不同的版本,你可以查看下面的链接以获得它的版本信息。二、phpMyAdmin
phpMyAdmin是一款免费的、用PHP编写的工具,用于在网络上管理MySQL,它支持MySQL的大部分功能。这款含有用户界面的软件能够支持一些最常用的操作(比如管理数据库、表格、字段、联系、索引、用户、许可,等等),同时还可以直接执行任何SQL语句。
它所具备的特性:
>直观的Web界面
>支持大多数MySQL功能:
> 浏览和丢弃数据库、表格、视图、字段和索引
>创建、复制、删除、重命名以及更改数据库、表格、字段和索引
>维护服务器、数据库以及表格,能对服务器的配置提出建议
>执行、编辑和标注任何SQL语句,甚至批量查询
>管理MySQL用户以及用户权限
>管理存储的过程(stored procedures)和触发器(triggers)
>从CSV 和 SQL文件格式中导入数据
>能够以多种格式导出数据:CSV、SQL、XML、PDF、ISO/IEC 26300等
>管理多台服务器
>为数据库布局创建PDF图表
>使用Query-by-example (QBE)创建复杂的查询
>在数据库中进行全局搜索,或者在数据库的子集中进行搜索
>用预定义的函数把存储的数据转化成任何格式
>其他更多特性
三、Aqua Data Studio
对于数据库管理人员、软件开发人员以及业务分析师来说,Aqua Data Studio是一个完整的集成开发环境(IDE)。它主要具备了四个方面的功能:
1)数据库查询和管理工具;
2)一套数据库、源代码管理以及文件系统的比较工具;
3)为Subversion(SVN)和CVS而设计了一个完整的集成源代码管理客户端;
4)提供了一个的数据库建模工具(modeler),它和最好的独立数据库图表工具一样强大。
四、SQLyog
SQLyog是一个全面的MySQL数据库管理工具(/’GUI’/'Frontend’)。它的社区版(Community Edition)是具有GPL许可的免费开源软件。这款工具包含了开发人员在使用MySQL时所需的绝大部分功能:查询结果集合、查询分析器、服务器消息、表格数据、表格信息,以及查询历史,它们都以标签的形式显示在界面上,开发人员只要点击鼠标即可。此外,它还可以方便地创建视图和存储过程,最近几周笔者一直在反复使用这个功能。
五、MYSQL Front
这个MySQL数据库的图形GUI是一个“真正的”应用程序,它提供的用户界面比用PHP和HTML建立起来的系统更加精确。因为不会因为重载HTML网页而导致延时,所以它的响应是即时的。如果供应商允许的话,你可以让MySQL-Front直接与数据库进行工作。如果不行,你也只需要在发布网站上安装一个小的脚本即可。登录信息会存储在你的硬盘上,因此你不必再登录到不同的网络界面上了。
你的意思就是我不能实现我需求的功能了,我的业务逻辑不能通过其他的方式sql解决吗?
MySql是我们服务器上的已经用了几年了 应该不会因为我的这个功能而变更 纠结求助
将()中的SQL语句存为VIEW,再连接
1我只从一张表中去数据
2我是想取出满足不同条件下的某个字段的值
3例如
select t1.gname as "一级机构名称",
t2.gname as "二级机构名称",
t2.gid as gid
from (select gname,gid from t_grp_org where levels = 0) t1,
(select gname,supid,gid from t_grp_org where levels = 1) t2
where t1.gid(+) = t2.supid
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
CREATE TABLE T2 AS select gname,supid,gid from t_grp_org where levels = 1
以前的mysql 4.0的时候 子查询是通过什么实现的呢
我那个字段啊 数据量啊 是特别的多
你看看能不能你给我举个最简单的例子 用join方式来实现 子查询
4.0建表好像 也有什么特别的 没建成功字段name,ageselect t1.name as a,
t2.name as b
from (select name from test where age = 20)t1,
(select name from test where age = 19)t1
t2.name as b
from test t1,test t2
where t1.age=20 and t2.age=19
只有一张表!!!
仔细看看别人的回复哦,T1、T2只是别名,只有TEST表
但是mysql 4.0中还是报错:
The SELECT would examine more rows than MAX_JOIN_SIZE.
Check your WHERE and use SET SQL_BIG_SELECTS=1
or SET SQL_MAX_JOIN_SIZE=# if the SELECT is ok
SET SQL_BIG_SELECTS=1
OR
增大
tmp_table_size的值
-> from (select now() as a) A,
-> (select now() as b) B;
+---------------------+---------------------+
| a | b |
+---------------------+---------------------+
| 2011-12-22 13:42:12 | 2011-12-22 13:42:12 |
+---------------------+---------------------+
1 row in set (0.00 sec)
由于我们服务器上的mysql数据量很大 我不太明白的内容 不敢随便操作 求解释
另外那个sql在mysql其他版本能运行吗 oracle是可以的啊 那个sql报错原因是什么呢