查询数据

准备工作

在阅读本页之前,请执行以下操作:

  • 创建hubble无服务器集群或启动本地集群。
  • 安装驱动程序或 ORM框架。
  • 连接到数据库。
  • 插入您现在要对其运行查询的数据。

简单选择

sql语言

select empno,ename from emp;

go语言

// 'db' is an open database connection

rows, err := db.Query("select empno,ename from emp")
if err != nil {
    log.Fatal(err)
}
defer rows.Close()
fmt.Println("Initial balances:")
for rows.Next() {
    var id, balance int
    if err := rows.Scan(&id, &balance); err != nil {
        log.Fatal(err)
    }
    fmt.Printf("%d %d\n", id, balance)
}

JAVA语言


try (Connection connection = ds.getConnection()) {
    Statement stmt = connection.createStatement();
    ResultSet rs = stmt.executeQuery("select empno,ename from emp");

    while (rs.next()) {
        int id = rs.getInt(1);
        int bal = rs.getInt(2);
        System.out.printf("ID: %10s\nBalance: %5s\n", id, bal);
    }
    rs.close();

} catch (SQLException e) {
    System.out.printf("sql state = [%s]\ncause = [%s]\nmessage = [%s]\n",
                      e.getSQLState(), e.getCause(), e.getMessage());
}

PYTHON语言


with conn.cursor() as cur:
    cur.execute("select empno,ename from emp")
    rows = cur.fetchall()
    for row in rows:
        print([str(cell) for cell in row])

排序

要对查询结果进行排序,请使用ORDER BY子句。

例如:

select * from emp order by empno;

限制查询

要限制查询的结果,请使用LIMIT子句。

例如:

select * from emp order limit 5;

有关参考文档和更多示例,请参阅LIMIT/OFFSET语法页面。

join

具有双向连接的选择查询的语法如下所示

SELECT
    e.ename, b.dname
FROM
   emp AS e
    JOIN
    dept AS d
    ON
    e.deptno = d.deptno
WHERE
    e.empno is not null
ORDER BY
    e.empno
LIMIT
    5;