sql >> Databáze >  >> RDS >> Database

Zkrátit SQL

Tento příkaz odstraní všechny záznamy z tabulky. Truncate je příkaz DDL.Syntaxe:
TRUNCATE tabulka název_tabulky;
Příklad:
Truncate table teacher;

OBJEDNEJTE PODLE

Klauzule ORDER BY uspořádá tabulku nebo sloupec ve vzestupném nebo sestupném pořadí. Ve výchozím nastavení je to vzestupně. „ASC“ se používá k označení vzestupného pořadí a „DESC“ se používá k označení sestupného pořadí. Chcete-li zobrazit výsledné záznamy náhodně, metoda Rand() použitá v MySQL.Příklad:Seřadit podle vzestupně
vyberte *z pořadí učitele podle jména_učitele;nebovyberte *z pořadí učitele podle jména_učitele asc;
Zde je výstup stejný.Příklad:
vyberte *z objednávky učitelů podle názvu učitele desc;
Příklad:
Vyberte Teacher_id from teacherorder by rand();
LIMIT Klíčové slovo Limit se používá k získání konečného počtu záznamů. Limit lze použít s jedním parametrem nebo dvěma parametry.
  • Omezení [jeden parametr]
Tento parametr určuje počet záznamů k zobrazení.
  • Limit [první parametr, druhý parametr]
Zde první parametr udává počet záznamů, které se mají přeskočit, a druhý parametr udává počet záznamů, které se mají zobrazit.Příklad:
Vyberte *z počtu učitelů 5;
Příklad:
Vyberte *z počtu učitelů 2,3;

GROUP BY

Klauzule GROUP BY se používá ke spojení řádků, které mají stejné hodnoty. Hlavně klauzule GROUP BY používaná s agregačními funkcemi k vytváření souhrnných zpráv z databáze.
vyberte název_oddělení, počet(*) ze skupiny učitelů podle názvu_oddělení;

MÍT KLAUZUU

Klauzule have se používá ve spojení s agregačními funkcemi namísto klauzule where. Neznamená to, že klauzule a agregační funkce nejsou možné ve stejném dotazu. Ve stejném dotazu můžeme použít klauzuli where a agregační funkci.Poznámka: Klauzule mít se vztahuje na skupinu záznamů, na druhou stranu tam, kde je klauzule aplikována na každý jednotlivý záznam. Kde a klauzuli mít lze použít ve stejném dotazu.Syntaxe:
Vybrat function_name(column_name)From table_nameGroup by (column_name)Having (condition)
Příklad:
vyberte count(teacher_id) ze skupiny učitelů podle dept_namehaving dept_name='it';
Vyberte dept_name, count(teacher_id)ze skupiny učitelů podle dept_namehaving count(teacher_id)>2;  

SQL JOINS

Tabulka oddělení Tabulka učitelů Příklad: Napište dotaz, aby se zobrazil název oddělení s jejich vedoucím a kolik učitelů pracuje v příslušném oddělení.
vyberte department.dept_name,dept_head,count(teacher_name)z oddělení připojit se k učiteli na oddělení.dept_name=teacher.dept_namegroup by(dept_name);
TABULKA A a TABULKA B PŘIPOJIT SE Join vrátí shodné hodnoty z obou tabulek s příslušnou podmínkou ON.
Vyberte *z A JOIN BON A.no=B.no;
SPRÁVNÉ PŘIPOJENÍ SE SQL Right Join vrátí všechny záznamy z pravé tabulky a také odpovídající hodnoty. Pokud v jiné tabulce nejsou žádné odpovídající hodnoty, vrátí hodnotu null.
Vyberte *Z A  RIGHT JOIN BON A.no=B.no;
PŘIPOJIT SE VLEVO Levé spojení SQL vrátí všechny záznamy z levé tabulky a odpovídající hodnoty. Pokud v jiné tabulce nejsou žádné odpovídající hodnoty, vrátí hodnotu null.
Vyberte *z A LEFT JOIN BON A.no=B.no;

ZOBRAZIT

Pohled je stejný jako tabulka v databázi. Tabulka je fyzická entita, zatímco pohled nikoli. Zobrazení je virtuální tabulka založená na sadě výsledků dotazu SQL. Uživatel může vytvořit zobrazení zápisem SQL dotazů pomocí jedné nebo více tabulek, což znamená, že zobrazení může obsahovat sloupce/pole/atributy z různých tabulek.Syntaxe:
vytvořit zobrazení view_name asSelect column1,column2,….From table_nameWhere condition;
Příklad:
Vytvořit zobrazení view_student asSelect student_id,student_name,dept_nameFrom studentWhere student_id<10;
vyberte *from view_student;
Následující výstupní obrazovka ukazuje, že uživatel může provádět funkce SQL v zobrazení, když jsou data v zobrazení z jedné tabulky. Stejné je to i v případě WHERE a JOIN. # NAHRADIT ZOBRAZENÍ V nahrazeném zobrazení může uživatel změnit název zobrazení nebo obsah zobrazení změnou dotazu uvnitř zobrazení.Syntaxe:
Vytvořit nebo nahradit zobrazení view_name asSelect column1,column2,……From studentWhere condition;
Příklad:
Vytvořit nebo nahradit zobrazení view_student asSelect student_id,student_name,dept_name,classyearFrom studentWhere student_id mezi 15 a 35;
# ZOBRAZENÍ DROP Uživatel může zrušit pohled pomocí příkazu DROP VIEW.Syntaxe:
Zrušit viewview_name;
Příklad:
Zrušte viewview_student;
VNOŘENÝ DOTAZ Dotaz v jiném dotazu nazývá vnořený dotaz. Uživatel na ně může odkazovat vnější dotaz a vnitřní dotaz. Vnitřní dotaz pojmenovaný jako poddotaz . Výsledkem dílčího dotazu může být jednořádkový výstup nebo víceřádkový výstup. Uživatel může umístit dílčí dotaz před klauzuli select nebo where.Syntaxe:
Select columnsFrom table_nameWhere condition In( select column_nameFrom table_nameWhere condition);Select column_name =(select column_nameFrom table_nameWhere condition),columnsFrom table_nameWhere condition;
Příklad: Q1 Zobrazte jména učitelů z oddělení IT, jejichž plat je vyšší než průměrný plat oddělení IT.
Vyberte jméno_učiteleOd učiteleKde plat>(vyberte průměr(plat)Od učitele, kde název_oddělení='IT');
SQL SEKVENCE V MySQL se klíčové slovo AUTO_INCREMENT používá ke generování sekvence. Generuje posloupnost číselných hodnot, která se používá k jedinečné identifikaci každého záznamu. Když je toto aplikováno na sloupec, zvýší se hodnota sloupce o 1 při vkládání nového záznamu do tabulky. Pole Auto_increment by mělo být klíčem.Syntaxe:
Vytvořte tabulku název_tabulky (datový typ sloupce1 AUTO_INCREMENT, datový typ sloupce2,…, primární klíč sloupce1);
Příklad:
vytvořit vzorky tabulky (sample_id int auto_increment primární klíč,sample_name varchar(20),quantity int,price float);

Po vytvoření tabulky použít AUTO_INCREMENT

Syntaxe:
Změnit tabulku název_tabulkymodify sloupeccolmn_name datový typ primárního klíče auto_increment;
 Příklad:
alter table studentmodify columnstudent_id int auto_increment;

INDEX

Uživatel může vytvořit index. Data se z databáze získávají velmi rychle pomocí indexu. Uživatel nevidí index. Index se používá pouze pro účely vyhledávání nebo dotazování.Syntaxe
Vytvořit index index_nameNa název_tabulky (název_sloupce);
Příklad:
vytvořit index stud_indexon student (student_name);

DROP INDEX

Syntaxe:
Změnit tabulku název_tabulkyZrušit index název_indexu;
Příklad:
změňte tabulku studentdrop index stud_index;

Příklady

Q1 Zjistěte nejvyšší plat z tabulky učitelů na základě učitel_id. Odpověď: vyberte id učitele z pořadí učitelů podle id učitele desc limit 1;// kolik záznamů k zobrazení nebo
vyberte max(teacher_id) od učitele;
2. čtvrtletí Zjistěte druhý nejvyšší plat z tabulky učitelů na základě id učitele. Odp. :vyberte id učitele z pořadí učitelů podle id učitele desc limit 1,1; // přeskočit 1 záznam,zobrazit 1 záznam3. čtvrtletí Zjistěte třetí nejvyšší plat z tabulky učitelů na základě id_učitele. Odpověď: vyberte učitel_id z pořadí učitelů podle id učitele desc limit 2,1;Q3 Zjistěte n nejvyšší plat z tabulky učitelů na základě id_učitele. Odpověď: vyberte učitel_id z pořadí učitelů podle id učitele desc limit n-1,1;


  1. Jak zobrazit procesy MySQL

  2. Jak spustíte SQL z bash skriptu?

  3. Vygenerujte online proceduru PL/SQL pro import dat do tabulky Oracle

  4. Jak použít klíčové slovo 'as' k aliasu tabulky v Oracle?