登录
首页 >  Golang >  Go问答

这个 SQL 查询是有效的吗?

来源:stackoverflow

时间:2024-03-08 15:21:40 366浏览 收藏

在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是Golang学习者,那么本文《这个 SQL 查询是有效的吗?》就很适合你!本篇内容主要包括##content_title##,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

select a.field1 from tbl1 as a,tbl2 as b where a.field2=b.field2;

或者这是正确的方法

SELECT field1 FROM tbl1 AS A,tbl2 AS B WHERE A.field2=B.field2;

假设这是有效的,你如何使用 gorm 将其转换为 golang?


正确答案


实际上这要看情况。如果 field1 仅存在于 tbl1 或 tbl2 中,则两者都可以工作。否则第一个是正确的并消除了歧义。

顺便说一句,您应该将其写为:

,而不是使用这种旧式的内部联接
select a.field1 
from tbl1 as a
inner join tbl2 as b on a.field2=b.field2;

与戈尔姆:

db.joins("tbl2").find(&tbl1)

编辑?既然你说你除了这个 sql 之外什么都不知道,你可以这样使用原始 sql:

var field1 string

rows, err := db.Raw("SELECT A.field1 FROM tbl1 AS A inner join tbl2 AS B on A.field2=B.field2 where b.Field3 = ?", "something").Rows()
defer rows.Close()
for rows.Next() {
  rows.Scan(&field1)

  // ...
}

今天关于《这个 SQL 查询是有效的吗?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>