![]() |
Détails sur créer des questions |
|
Détails sur le choix de colonne |
|
Cacher une colonne |
|
Considérer la table suivante dans une base de données :
|
|
Imaginer que vous voulez créer une liste d'employés employant leurs noms et vous veulent montrer leur département de travail. Vous pouvez créer la question suivante :
Ceci produirait :
Basé sur cette liste, imaginer que vous voulez que la liste inclue seulement les employés qui travaillent au bureau de corporation, c'est-à-dire, les employés dont la valeur de département est de corporation. De ce que nous avons appris dans les données filtrant, dans les critères correspondant à la colonne de département dans la fenêtre choisie de question, vous pouvez simplement dactylographier « de corporation »
Le rapport correspondant de SQL est : SELECT Employees.DateHired, Employees.FirstName,
Employees.LastName, Employees.Department
FROM Employees
WHERE (((Employees.Department)="Corporate"));
Noter que la colonne de département est incluse en tant qu'élément du rapport CHOISI. Ceci produirait :
Noter que tous les employés filtrés montrent de corporation. Puisque nous créons une liste d'employés qui travaillent au bureau de corporation et nous savons qu'est ce ce que la question produirait, elle devient superflue, tout à fait inutile, pour inclure la colonne de département dans notre liste. Par conséquent, nous pouvons la cacher. Le problème est que nous avons besoin de lui pour poser la condition. Pour faire ceci, nous pouvons ajouter la colonne dans la question pour indiquer la condition mais nous la cacherions du résultat. La fenêtre choisie de question fournit des moyens de faire ceci visuellement. Pour la faire, vous pouvez dégager la boîte de contrôle de la rangée d'exposition correspondant à la colonne. Voici un exemple :
Le rapport correspondant de SQL est : SELECT Employees.DateHired, Employees.FirstName, Employees.LastName FROM Employees WHERE (((Employees.Department)="Corporate")); Noter que la colonne de département n'est pas incluse en tant qu'élément du rapport CHOISI. Ceci produirait :
Dans votre rapport CHOISI, après l'indication des colonnes comme nous avons fait jusqu'ici, quand vous exécutez la question, le nom de chaque colonne apparaîtrait comme en-tête de colonne. En créant la table, si vous aviez explicitement indiqué une légende pour la colonne, la légende montrerait également quand la question montre son résultat. Sur une question, au lieu du nom de défaut utilisé comme légende, si vous voulez, vous pouvez montrer n'importe quelle corde de votre choix pour un en-tête de colonne. Pour indiquer un en-tête de colonne autre que le nom de la colonne, si vous créez visuellement le rapport de SQL dans la fenêtre choisie de question, dans la boîte qui reçoit le nom de la colonne choisie, dactylographier la corde désirée, suivie des deux points « : », suivi du nom réel de la colonne de la table. Voici deux exemples :
Ceci produirait :
Si vous écrivez manuellement le rapport de SQL, dactylographier le nom réel de la colonne, suivi de COMME mot-clé, suivi de la corde désirée. Si l'en-tête désiré de colonne est dans un mot, vous pouvez simplement le dactylographier. Voici un exemple : SELECT SocSecNbr AS EmployeeNumber, LastName, HourlySalary FROM Employees; Si la corde est dans plus d'un mot ou contient un symbole qui pourrait être confondu avec un opérateur, vous devriez inclure la corde entière entre un crochet d'ouverture et un crochet de fermeture. En fait, vous devriez toujours inclure la corde entre crochets. Voici deux exemples : SELECT SocSecNbr AS [EmployeeNumber], LastName, HourlySalary AS [Pay Rate] FROM Employees; Vous pouvez également inclure la corde dans simple-cite. Voici deux exemples : SELECT SocSecNbr AS [EmployeeNumber], LastName, HourlySalary AS 'Pay Rate' FROM Employees;
En créant une question, au lieu de avoir les colonnes séparées, vous pouvez combiner deux colonnes ou plus pour créer une corde ou une valeur qui est en fait une expression. Par exemple, vous pouvez combiner un prénom et un dernier nom pour créer un nom et prénoms. Une expression qui combine des colonnes peut être exécutée sur les colonnes basées par texte. comme un prénom étant ajouté à un dernier nom pour obtenir un nom et prénoms. Pour créer ce type d'expression, vous pouvez employer + opérateur pour enchaîner la corde comme dans FirstName + « « + LastName. Après avoir créé l'expression, parce que le résultat n'est pas une partie de la table (ou de la question) de laquelle la question est basée, vous devez donner un nom de nom d'emprunt au résultat. Voici un exemple :
Au lieu de l'opérateur d'addition, vous pouvez employer l'esperluète et l'opérateur pour exécuter le même opérateur. Au lieu du simple-cite utilisé pour ajouter une corde dans l'expression, vous peut employer double-cite. Sans compter que la corde, vous pouvez créer un type d'expression qui emploie une date sur la table, ajoutez un nombre à lui pour obtenir une date un autre jour. Une expression peut également être employée pour exécuter un calcul sur deux colonnes ou plus telles que des heures hebdomadaires des employés multipliées par leur salaire horaire pour obtenir leur salaire hebdomadaire.
Imaginer que, au lieu d'obtenir la liste d'employés qui travaillent au bureau de corporation, vous êtes intéressé par les employés qui pas travaill au bureau de corporation. Pour obtenir cette liste, vous pouvez nier l'état « de corporation » qui a été énoncé plus tôt. Ceci est fait en précédant la condition avec PAS. Voici un exemple :
Ceci produirait :
Le rapport correspondant de SQL est : SELECT Employees.DateHired, Employees.FirstName,
Employees.LastName, Employees.Department
FROM Employees
WHERE ((Not (Employees.Department)="Corporate"));
Pour valider quelque chose en tant qu'étant possible, vous pouvez employer EST opérateur. Par exemple, pour reconnaître que quelque chose est NULLE, vous pouvez employer EST expression NULLE. Pour obtenir une liste de disques où l'email address de l'étudiant n'est pas indiqué, vous pouvez employer un rapport comme suit : SELECT LastName, FirstName, Gender, EmailAddress FROM Students WHERE EmailAddress IS NULL De la même manière, pour valider que quelque chose n'est pas nulle, vous pouvez employer l'expression N'EST PAS NUL. Pour voir une liste des étudiants seulement dont les disques ont un email address, vous pouvez employer un rapport comme suit : SELECT LastName, FirstName, State, EmrgName, EmrgPhone FROM Students WHERE EmrgPhone IS NOT NULL
Les la plupart ou tous les critères nous avons indiqué avec OÙ le mot-clé a dû exactement match le critère indiqué. Dans certains cas, vous ne pouvez pas se rappeler la valeur désirée exacte des disques mais de toi pour vouloir indiquer un certain type d'approximation. Pour faire ceci, vous employez l'opérateur de semblables. Si vous créez visuellement le rapport, dans la fenêtre choisie de question, cliquer les critères de boîte correspondant à la colonne sur laquelle la condition serait appliquée et type. Dans un rapport de SQL, l'opérateur de semblables est employé dans une formule comme suit : Expression LIKE pattern Le facteur d'expression est l'expression qui sera évaluée. Ceci doit être une expression claire et valide. Le facteur de modèle peut être une valeur à trouver dans l'expression. Par exemple, ce peut être le même type de valeur utilisé dans OÙ rapport. Dans ce cas-ci, l'opérateur égal serait le même que COMME. Pour l'exampleSELECT SELECT Employees.DateHired, Employees.FirstName,
Employees.LastName, Employees.Department
FROM Employees
WHERE (((Employees.LastName)="Scott"));
est équivalent SELECT Employees.DateHired, Employees.FirstName,
Employees.LastName, Employees.Department
FROM Employees
WHERE (((Employees.LastName) Like "Scott"));
Ceci produirait :
L'idée d'employer a COMME l'opérateur est de donner une approximation du type de résultat que vous voulez. Les wildcards disponibles au Se avec l'opérateur de semblables sont :
Si vous voulez au match n'importe quel caractère, dans n'importe quelle combinaison, pour n'importe quelle longueur, utilisation * le wildcard. Si vous le précédez avec une lettre, comme dans S*, la condition se composerait trouver n'importe quelle corde que les débuts avec le S. imaginent que vous voulez créer une liste d'employés dont les derniers noms commencent par le S. Vous dactylographieriez la condition comme COMME « S* » (ou AIMER « S* »). Pour faire ceci visuellement, dans les critères de champ de la colonne, dactylographier la condition. Voici un exemple :
Le rapport de SQL est cette question est : SELECT Employees.DateHired, Employees.FirstName,
Employees.LastName, Employees.Department
FROM Employees
WHERE (((Employees.LastName) Like "S*"));
Ceci produirait :
Vous pouvez nier cette condition en la précédant avec PAS. Voici un exemple :
Le rapport de SQL de cette question est : SELECT Employees.DateHired, Employees.FirstName
Employees.LastName, Employees.Department
FROM Employees
WHERE (((Employees.LastName) Not Like "S*"));
Ceci produirait :
Comme vous pouvez voir, ceci a comme conséquence la liste d'employés dont les derniers noms ne commencent pas par le S. Quand vous précédez * caractère avec une lettre, seulement cette lettre serait considérée. Alternativement, vous pouvez indiquer un groupe de caractères qui précéderaient * symbole. Par exemple, si vous avez quelques prénoms qui commencent par Paul dans une liste mais toi ne vous rappelez pas la fin du nom que vous recherchez, pour créer la liste, vous pouvez indiquer que le prénom commencerait par Paul et finirait avec quoi que. Dans ce cas-ci, vous emploieriez Paul* comme suit :
Le rapport correspondant de SQL est : SELECT Employees.DateHired, Employees.FirstName, Employees.LastName, Employees.Department FROM Employees WHERE (((Employees.FirstName) Like "Paul*")); Ceci produirait :
Au lieu de finir une lettre ou un groupe de lettres avec *, vous pouvez commencer le rapport de semblables par *. Un exemple serait COMME le « *son ». Dans ce cas-ci, toutes les cordes qui finissent avec le fils, tel que Johnson ou Colson, seraient considérées. Si vous ne vous rappelez ni le commencement ni la fin d'une corde que vous voulez rechercher mais vous savez une sous-chaîne qui est probablement incluse dans le type de corde vous recherchez, vous pouvez le précéder avec * et le finir avec *. Un exemple serait COMME le « *er* ». Dans ce cas-ci, toutes les cordes qui incluent heu n'importe où à l'intérieur, comme Berg ou Merck, seraient considérées. Comme les autres rapports de SQL, vous pouvez également nier celui-ci.
* le wildcard est employé pour le faire précéder ou réussir un caractère spécifique ou un groupe des caractères, c'est-à-dire, de n'importe quel caractère. Si vous voulez considérer seulement une gamme des caractères de l'alphabet, vous pouvez inclure la gamme entre crochets. Pour faire ceci, dactylographier [, suivi du plus bas caractère de la gamme, suivi -, suivie du caractère le plus élevé de la gamme, suivi]. Par exemple, pour obtenir une liste d'employés dont les derniers noms commencent par des lettres entre D et M, vous indiqueriez le critère comme COMME « [DM] * ». Voici un exemple :
Le rapport de SQL de cette question est : SELECT Employees.DateHired, Employees.FirstName, Employees.LastName, Employees.Department FROM Employees WHERE (((Employees.FirstName) Like "[D-M]*")); Ceci produirait :
De nouveau, se rappeler que vous pouvez nier cette expression en la précédant avec PAS.
Imaginer que vous connaissez un certain modèle dans la corde mais vous savent que vous oubliez seulement une lettre. Par exemple, si vous savez que le prénom des employés ressemble à de Saul, transport, ou de Paul. En d'autres termes, vous ne savez pas pour sûr ce qu'est la première lettre mais vous êtes sûr au sujet des autres caractères. Au match un caractère dans une corde, vous pouvez employer ? symbole comme caractère d'ambiguité. Voici un exemple :
Le rapport correspondant de SQL est : SELECT Employees.DateHired, Employees.FirstName, Employees.LastName, Employees.Department FROM Employees WHERE (((Employees.FirstName) Like "?aul")); Ceci produirait :
Noter que ceci produit les employés dont le prénom finit avec l'aul indépendamment du premier caractère.
|
|
|
||
| Précédent | Copyright © Yevol, 2007 | Suivant |
|
|
||