1. Lógica de classificação personalizada ORDER BY FIELD()
Classificando ORDER BY Além de usar ASC e DESC, você também pode usar **ORDER BY FIELD(str,str1,...)** para obter a classificação personalizando strings/números. Aqui está um exemplo da tabela order_diy, estrutura e exibição de dados da tabela:
Dois, expressão CASE
A expressão "case when then else end" é muito poderosa e pode nos ajudar a resolver if elseif else
este problema. Aqui continuamos a usar a tabela order_diy como exemplo. Se quisermos adicionar uma coluna de nível à tabela order_diy, de acordo com o julgamento do dinheiro , é maior que 60 e é maior que 30. , e o resto mostra sql de baixo nível, da seguinte forma:
3. Uso de EXISTS
Acho que todos deveriam usar menos a palavra-chave existe no desenvolvimento diário, e estima-se que nas consultas sejam mais usadas. Aqui está uma introdução ao uso de exist, citando a documentação oficial do site:
existe é seguido por uma instrução de subconsulta, sua função é "de acordo com os dados da consulta principal, cada linha é colocada na subconsulta para verificação condicional e de acordo com o resultado da verificação (VERDADEIRO ou FALSO), se VERDADEIRO, os dados da linha serão retidos" , o seguinte usa emp table e dept table como exemplos, estrutura de tabela e exibição de dados
SELECT *,
case when money > 60 then '高级'
when money > 30 then '中级'
else '低级' END level
from order_diy;