日期:2014-05-16  浏览次数:20895 次

mysql这么写查询语句有什么特殊的意义和作用吗

查询语句如下:
 SELECT A.ID_COMPANY,
B.VR_COM_ENGNAME
FROM TB_RS_R_RATEITEM_ACCOUNT A, TB_COMPANY B
WHERE A.ID_RATEITEM=rateitemId
AND A.ID_COMPANY=B.ID_COMPANY
AND B.EM_COM_DELFLAG='F'
AND B.VR_COM_ENGNAME;

注:rateitemId 为传进来的参数 int类型 
AND B.VR_COM_ENGNAME 这个字段在where 条件中是起到什么作用呢?

另外我测试:
1 SELECT * FROM TB_JOB WHERE ID_JOB ;
2 SELECT * FROM TB_JOB WHERE 1;
1 和2 两条语句执行 
可以查出来所有的TB_JOB中的数据 (ID_JOB为int类型)

3 SELECT * FROM TB_JOB WHERE VR_JOB_AGENT_CODE ;
4 SELECT * FROM TB_JOB WHERE 0 ;
执行3 和 4 这两条语句 
查出来为空 一条记录也没有(VR_JOB_AGENT_CODE 为varchar类型)


请教大家 帮忙看下
这两点涉及mysql什么语法规则 
感谢....



------解决方案--------------------
AND B.VR_COM_ENGNAME 这个字段在where 条件中是起到什么作用呢?
连接条件限制

另外我测试:
1 SELECT * FROM TB_JOB WHERE ID_JOB ;
2 SELECT * FROM TB_JOB WHERE 1;
1 和2 两条语句执行
可以查出来所有的TB_JOB中的数据
1与2是等同的写法不同而已。
3与4同样