mysql - 在 MySQL 查询中获取 NULL 值

标签 mysql null

我有两个像这样的表:

gene_names:

+------------------+------------------+
| gene_alias       | gene_name        |
+------------------+------------------+
| AC148152.3_FG007 | AC148152.3_FG007 |
| AC149829.2_FG002 | AC149829.2_FG002 |
| AC149829.2_FG004 | AC149829.2_FG004 |
| AC155352.2_FG009 | AC155352.2_FG009 |
| AC155352.2_FG012 | AC155352.2_FG012 |
+------------------+------------------+

另一个名为gene_transcripts的表:

+-------------------+------------------+
| transcript_alias  | gene_alias       |
+-------------------+------------------+
| AC148152.3_FGT007 | AC148152.3_FG007 |
| AC149829.2_FGT002 | AC149829.2_FG002 |
| AC149829.2_FGT004 | AC149829.2_FG004 |
| AC155352.2_FGT009 | AC155352.2_FG009 |
| AC155352.2_FGT012 | AC155352.2_FG012 |
+-------------------+------------------+

我想要的是从 gene_transcripts 获取 gene_alias 并从 gene_names 获取 gene_name。为此,我这样做(示例):

SELECT gene_transcripts.gene_alias,
       gene_names.gene_name
FROM gene_transcripts,
     gene_names
WHERE gene_transcripts.gene_alias="AT4G38300_oG.1"
  AND gene_transcripts.gene_alias=gene_names.gene_alias;

它没有给出任何结果,因为gene_alias“AT4G38300_oG.1”在表gene_names中没有条目。到目前为止,看起来非常合乎逻辑、合理。

我想要得到的是(我不知道如何实现这一点,因此我在这里问这个问题),是如何获得以下输出:

+-------------------+------------------+
| transcript_alias  | gene_alias       |
+-------------------+------------------+
| AT4G38300_oG.1    | NULL             |
+-------------------+------------------+

这可能吗?

最佳答案

只需使用左连接

select 
   gt.gene_alias as transcript_alias, 
   gn.gene_name as gene_alias 
from gene_transcripts gt
left join gene_names gn on gt.gene_alias=gn.gene_alias
where gt.gene_alias="AT4G38300_oG.1"

关于mysql - 在 MySQL 查询中获取 NULL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24573178/

相关文章:

sql - mysql加入空行?

android-studio - 如果没有显式 null 检查,编译器将无法识别不可为 null 的值

MySQL SELECT 对存储过程中的 NOT NULL 列返回 NULL

android - textView.setText();崩溃

java - Android Sqlite db.insert 带 null

mysql - 如何在mysql的外键约束中允许0?

mysql - 安装脚本 - 如何检查数据库表是否已经存在?

mysql - PHP Array 不显示数据库中的所有数据

php - 无法让 mysql_insert_id() 工作

php - 从 PHP 中的 mySQL 表填充下拉框