积木工具箱 发表于 2021-4-30 17:08

mysql请教

有一个用户表 user
id sex name
1   男小明
2   女小王
3   男小菜

现在我需要查询女角色
select * from where sex='女'

现在有个需求 sex='女' 这个条件 在id为 1的 情况下 sex='女'这个条件不启用该怎么写呢

天才笨蜀黍 发表于 2021-4-30 17:12

select * from where sex='女' or id=1

SnakeJohn 发表于 2021-4-30 17:16

select t.*,t.rowid from user t where t.sex='女' or t.id=1

Js_Aaron 发表于 2021-4-30 17:22

这...考试呢嘛

chaosgod 发表于 2021-4-30 17:29

SELECT
      id,
      sex,
      `name`
FROM
      test
WHERE
IF
      (
                id = 1,
      sex != '女',
      sex = '女')

houzhiyong 发表于 2021-4-30 17:34


select * from userwhere sex='女' or t.id=1

diaosi123 发表于 2021-4-30 17:38

要写存储过程吧,上面的都是sql,
人家要求的是当id为1,要查全部。。否则查sex='女'

ghq 发表于 2021-4-30 17:40

select * from user where sex='女' and id<>1

LeagueJinx 发表于 2021-4-30 17:42

我这边是框架 mybatis动态sql,,如果是普通sql就是 (id有限 = 值) 这边 判断一下 id有的话就不加其他判断

Cool_Breeze 发表于 2021-4-30 18:15

select * from (select * from where sex='女' ) where id != 1
页: [1] 2
查看完整版本: mysql请教