📜  SQL – 随机选择

📅  最后修改于: 2022-05-13 01:55:03.359000             🧑  作者: Mango

SQL – 随机选择

SQL 中的 RANDOM()通常用于从数据库中的表中返回随机行。它在现实生活中有很多应用。

例如 :

  1. 一个组织中有很多员工。假设,如果事件经理想要给任意 10 个随机员工发送邮件,那么他/她可以使用 SQL 中的 RANDOM() 来获取这 10 个随机员工的电子邮件 ID。
  2. 它还可以用于在在线考试或 MCQ 期间从问题池中显示随机问题。

在本文中,我们将使用如下所示的示例表讨论如何使用 RANDOM()。

样本输入表:

                   Customer Information
Customer IDCustomer NameE-Mail Address
1Srishtiabc@gmail.com
2Rajdeepdef@gmail.com
3Aman xxx@gmail.com
4Poojaxyz@gmail.com

基本 SQL 查询:



1. 创建数据库

CREATE DATABASE database_name;

2. 创建表

CREATE TABLE Table_name(
col_1 TYPE col_1_constraint,
col_2 TYPE col_2 constraint
.....
)

col: Column name
TYPE: Data type whether an integer, variable character, etc
col_constraint: Constraints in SQL like PRIMARY KEY, NOT NULL, UNIQUE, REFERENCES, etc

3. 插入表格

INSERT INTO Table_name
VALUES(val_1, val_2, val_3, ..........)

val: Values in particular column

4. 查看表格

SELECT * FROM Table_name

输出 :

客户表

随机 SQL 查询:

1. MYSQL

SELECT col_1,col_2, ... FROM Table_Name
ORDER BY RAND()

col_1 : Column 1
col_2 : Column 2

上面的查询将返回提到的特定列的整个表,并且每次运行查询时,行将是随机的并且位置会发生变化。要随机获得单行,我们可以使用LIMIT 子句 并设置为只有一行。查询中的 ORDER BY子句用于对行进行随机排序。

SELECT col_1,col_2, ... FROM Table_Name
ORDER BY RAND()
LIMIT 1

col_1 : Column 1
col_2 : Column 2

2. PostgreSQL 和 SQLite

它与 MYSQL 完全相同。只需将 RAND( ) 替换为 RANDOM( )。

SELECT col_1,col_2, ... FROM Table_Name
ORDER BY RAND()
LIMIT 1

col_1 : Column 1
col_2 : Column 2

输出 :

随机行

随机行

随机行

随机行

随机行

我们可以观察到上述查询从表中的所有行集中随机返回行。当数据库中有大量记录时,RANDOM() 子句很有用。